ローカルの scorer は現在 Weave Python SDK でのみ利用可能です。Weave TypeScript SDK ではまだ利用できません。TypeScript で Weave の scorer を使用する場合は、関数ベースの scorer を参照してください。
インストール
Weave の定義済み scorer を使用するには、追加の依存関係をインストールする必要があります。model_id を設定するだけで済みます。
サポートされているモデルは こちら をご覧ください。
HallucinationFreeScorer
この scorer は、AI システムの出力が入力データに基づいたハルシネーション(幻覚)を含んでいないかをチェックします。
- scorer の
system_promptおよびuser_promptフィールドをカスタマイズして、あなたにとっての「ハルシネーション」の定義を設定できます。
scoreメソッドは、contextという名前の入力カラムを期待します。Datasets で別の名前を使用している場合は、column_map属性を使用してcontextをデータセットのカラムにマッピングしてください。
SummarizationScorer
LLM を使用して要約を元のテキストと比較し、要約の品質を評価します。
- Entity Density (エンティティ密度): 要約に含まれる固有のエンティティ(名前、場所、物など)の数と、要約の総単語数の比率をチェックし、要約の「情報密度」を推定します。エンティティの抽出には LLM を使用します。これは Chain of Density 論文 で使用されている手法に似ています。
- Quality Grading (品質格付け): LLM エバリュエーターが要約を
poor(悪い)、ok(普通)、excellent(素晴らしい) のいずれかで格付けします。これらのグレードは、集計評価のためにスコア(poor は 0.0、ok は 0.5、excellent は 1.0)にマッピングされます。
summarization_evaluation_system_promptとsummarization_evaluation_promptを調整して、評価プロセスをカスタマイズできます。
- この scorer は内部で litellm を使用しています。
scoreメソッドは、元のテキスト(要約対象)がinputカラムに存在することを期待します。データセットで別の名前を使用している場合は、column_mapを使用してください。
OpenAIModerationScorer
OpenAIModerationScorer は、OpenAI の Moderation API を使用して、AI システムの出力にヘイトスピーチや不適切な内容などの禁止されたコンテンツが含まれていないかを確認します。
- AI の出力を OpenAI Moderation エンドポイントに送信し、コンテンツにフラグが立てられたかどうかを示す構造化されたレスポンスを返します。
EmbeddingSimilarityScorer
EmbeddingSimilarityScorer は、AI システムの出力とデータセット内のターゲットテキストの埋め込み(embedding)間のコサイン類似度を計算します。これは、AI の出力が参照テキストとどの程度似ているかを測定するのに役立ちます。
threshold(float): 2つのテキストが似ているとみなすために必要な最小コサイン類似度スコア (-1 から 1 の間、デフォルトは0.5)。
EmbeddingSimilarityScorer を使用しています。
ValidJSONScorer
ValidJSONScorer は、AI システムの出力が有効な JSON であるかどうかをチェックします。この scorer は、出力が JSON 形式であることを期待し、その妥当性を検証する必要がある場合に役立ちます。
ValidXMLScorer
ValidXMLScorer は、AI システムの出力が有効な XML であるかどうかをチェックします。XML 形式の出力を期待する場合に役立ちます。
PydanticScorer
PydanticScorer は、AI システムの出力を Pydantic モデルに対して検証し、指定されたスキーマやデータ構造に準拠していることを確認します。
RAGAS - ContextEntityRecallScorer
ContextEntityRecallScorer は、AI システムの出力と提供されたコンテキストの両方からエンティティを抽出し、再現率 (recall) を計算することでコンテキストの再現率を推定します。これは RAGAS 評価ライブラリに基づいています。
- LLM を使用して出力とコンテキストから固有のエンティティを抽出し、再現率を計算します。
- 再現率 (Recall) は、コンテキスト内の重要なエンティティのうち、出力に反映された割合を示します。
- 再現率スコアを含む辞書を返します。
- データセット内に
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 モデルを使用する場合: