ローカルScorerを利用できるのは、Weave Python SDK のみです。Weave TypeScript SDK では、まだ利用できません。TypeScript で Weave Scorerを使用する場合は、関数ベースのScorer を参照してください。
インストール
model_idを設定するだけで済みます。
サポートされるモデルを参照してください。
HallucinationFreeScorer
- Scorer の
system_promptフィールドとuser_promptフィールドをカスタマイズして、自分にとって “hallucination” が何を意味するかを定義します。
scoreメソッドは、contextという名前の入力列を想定しています。データセットで別の名前を使用している場合は、column_map属性を使用することで、contextをデータセット内の列にマッピングできます。
HallucinationFreeScorer を使用します。
SummarizationScorer
- エンティティ密度: 要約内で言及されている一意のエンティティ (名前、場所、オブジェクトなど) の数が、要約全体の単語数に対してどの程度の割合を占めるかを確認し、要約の「情報密度」を推定します。エンティティの抽出には LLM を使用します。これは、Chain of Density paper で使われているエンティティ密度の考え方に似ています。
- 品質評価: 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属性を使用してください。
SummarizationScorer を使用します。
OpenAIModerationScorer
OpenAIModerationScorer は OpenAI の Moderation API を使用して、AI システムの出力にヘイトスピーチや露骨な性的表現などの禁止コンテンツが含まれているかどうかを確認します。
- AI の出力を OpenAI Moderation エンドポイントに送信し、コンテンツにフラグが立てられているかどうかを示す構造化されたレスポンスを返します。
OpenAIModerationScorer を使用します。
EmbeddingSimilarityScorer
EmbeddingSimilarityScorer は、AI システムの出力の埋め込みと、データセット内のターゲット テキストの埋め込みとのコサイン類似度を計算します。AI の出力が参照テキストにどの程度近いかを測定するために使用します。
threshold(float): 2 つのテキストが類似していると見なすために必要な最小コサイン類似度スコアです (-1 から 1 の範囲。デフォルトは0.5) 。
EmbeddingSimilarityScorer を使用します。
ValidJSONScorer
ValidJSONScorer は、AI システムの出力が有効な JSON かどうかを確認します。出力が JSON 形式であることを想定しており、その妥当性を検証する必要がある場合に便利なScorerです。
ValidJSONScorer を使用します。
ValidXMLScorer
ValidXMLScorer は、AI システムの出力が有効な XML かどうかを確認します。XML 形式の出力が想定される場合に使用してください。
ValidXMLScorerを使用します。
PydanticScorer
PydanticScorer は、AI システムの出力を Pydantic モデルに照らして検証し、指定されたスキーマまたはデータ構造に準拠していることを確認します。
RAGAS - ContextEntityRecallScorer
ContextEntityRecallScorer は、AI システムの出力と与えられたコンテキストの両方からエンティティを抽出し、リコールスコアを計算することで、コンテキスト再現率を推定します。Retrieval Augmented Generation Assessment (RAGAS) 評価ライブラリに基づいています。
- LLM を使用して、出力とコンテキストから一意のエンティティを抽出し、再現率を計算します。
- 再現率 は、コンテキスト内の重要なエンティティのうち、出力で捉えられている割合を示します。
- 再現率スコアを含む辞書を返します。
- データセットに
context列があることを前提としています。列名が異なる場合は、column_map属性を使用します。
RAGAS - ContextRelevancyScorer
ContextRelevancyScorer は、提供されたコンテキストが AI システムの出力とどの程度関連しているかを評価します。これは RAGAS 評価ライブラリに基づいています。
- LLM を使用して、コンテキストが出力にどの程度関連しているかを 0 から 1 のスケールで評価します。
relevancy_scoreを含む辞書を返します。
- データセットに
context列があることを前提としています。列名が異なる場合は、column_map属性を使用してください。 relevancy_promptをカスタマイズして、関連性の評価方法を定義します。
ContextEntityRecallScorer と ContextRelevancyScorer を一緒に使用します。
openai/gpt-4o や openai/text-embedding-3-small などの OpenAI モデルを使って調整されています。別の provider を使用する場合は、model_id フィールドを更新してください。たとえば、Anthropic のモデルを使用するには次のようにします。