ローカルスコアラーは Weave Python SDK でのみ利用できます。Weave TypeScript SDK ではまだ利用できません。TypeScript で Weave スコアラーを使用するには、function-based scorers を参照してください。
インストール
model_id を設定するだけで構いません。
サポートされているモデルはこちらを参照してください。
HallucinationFreeScorer
- スコアラーの
system_promptとuser_promptフィールドをカスタマイズして、「hallucination(ハルシネーション)」が何を意味するかを定義します。
scoreメソッドはcontextという名前の入力カラムを想定しています。データセットが別の名前を使用している場合は、column_map属性を使用してcontextをデータセットのカラムにマッピングしてください。
SummarizationScorer
- エンティティ密度: 要約内に登場するユニークなエンティティ(名前、場所、物など)の数と、要約全体の単語数との比率を確認し、要約の「情報密度」を推定します。エンティティを抽出するために LLM を使用します。Chain of Density 論文 https://arxiv.org/abs/2309.04269 における entity density の使われ方と類似しています。
- 品質評価: LLM ベースの評価器が要約を
poor、ok、excellentのいずれかで評価します。これらの評価は、その後スコア(poor は 0.0、ok は 0.5、excellent は 1.0)にマッピングされ、集約的なパフォーマンス評価に用いられます。
- 評価プロセスを調整するには、
summarization_evaluation_system_promptとsummarization_evaluation_promptを変更します。
- このスコアラーは内部で litellm を使用します。
scoreメソッドは、要約対象となる元のテキストがinputカラムに含まれていることを前提としています。データセットで別の名前を使用している場合は、column_mapを使用してください。
OpenAIModerationScorer
OpenAIModerationScorer は、OpenAI の Moderation API を使用して、AI システムの出力にヘイトスピーチやわいせつな表現などの禁止コンテンツが含まれていないかをチェックします。
- AI の出力を OpenAI Moderation エンドポイントに送信し、そのコンテンツにフラグが付けられているかどうかを示す構造化されたレスポンスを返します。
EmbeddingSimilarityScorer
EmbeddingSimilarityScorer は、AI システムの出力の埋め込みと、データセット内のターゲットテキストの埋め込みとのコサイン類似度を計算します。これは、AI の出力が参照テキストとどの程度似ているかを測定するのに役立ちます。
threshold(float): 2つのテキストを類似しているとみなすために必要な、最小のコサイン類似度スコア(-1 から 1 の間、デフォルトは0.5)。
EmbeddingSimilarityScorer を使用する方法を示します。
ValidJSONScorer
ValidJSONScorer は、AI システムの出力が有効な JSON 形式かどうかをチェックします。出力が JSON 形式であることを想定し、その妥当性を検証する必要がある場合に有用なスコアラーです。
ValidXMLScorer
ValidXMLScorer は、AI システムの出力が妥当な XML であるかどうかをチェックします。XML 形式の出力が必要な場合に有用です。
PydanticScorer
PydanticScorer は、AIシステムの出力が指定されたスキーマやデータ構造に準拠していることを保証するために、Pydantic モデルに対して検証します。
RAGAS - ContextEntityRecallScorer
ContextEntityRecallScorer は、AI システムの出力と与えられたコンテキストの両方から Entities を抽出し、そのリコールスコアを計算することで、コンテキストのリコール(再現率)を推定します。これは RAGAS 評価ライブラリに基づいています。
- LLM を使って出力とコンテキストから一意のエンティティを抽出し、リコールを計算します。
- リコール は、コンテキスト内の重要なエンティティのうち、出力で捉えられている割合を示します。
- リコールスコアを含む辞書を返します。
- データセットに
context列が存在することを想定しています。列名が異なる場合は、column_map属性を使用してください。
RAGAS - ContextRelevancyScorer
ContextRelevancyScorer は、提供されたコンテキストが AI システムの出力にどの程度関連しているかを評価します。これは RAGAS 評価ライブラリに基づいています。
- LLM を使用して、コンテキストが出力にどれだけ関連しているかを 0〜1 の範囲で評価します。
relevancy_scoreを含む辞書を返します。
- データセット内に
context列があることを前提とします。列名が異なる場合は、column_map属性を使用してください。 - 関連性をどのように評価するかを定義するために、
relevancy_promptをカスタマイズします。
openai/gpt-4o や openai/text-embedding-3-small などの OpenAI モデルを用いて調整されています。他のプロバイダーのモデルを試したい場合は、model_id フィールドを更新して別のモデルを使用できます。たとえば Anthropic のモデルを使用するには、次のようにします: