Skip to main content
この EvaluationLogger は、Pythonコードから直接評価データを柔軟かつ段階的にログに記録する方法を提供します。Weaveの内部データ型について深い知識は必要ありません。単にロガーをインスタンス化し、そのメソッド(log_prediction, log_score, log_summary)を使用して評価ステップを記録します。 このアプローチは、データセット全体やすべてのスコアラーが最初から定義されていない可能性がある複雑なワークフローで特に役立ちます。 事前に定義された Evaluation オブジェクトとは対照的に、標準の Dataset とリストの Scorer オブジェクトが必要ですが、EvaluationLogger では、個々の予測とそれに関連するスコアを、利用可能になった時点で段階的にログに記録できます。
より構造化された評価を好みますか?事前定義されたデータセットとスコアラーを持つより体系的な評価フレームワークを好む場合は、Weaveの標準評価フレームワークをご覧ください。この EvaluationLogger は柔軟性を提供し、標準フレームワークは構造とガイダンスを提供します。

基本的なワークフロー

  1. ロガーを初期化する: EvaluationLogger のインスタンスを作成し、オプションで modeldataset に関するメタデータを提供します。省略した場合はデフォルトが使用されます。 :::important トークン使用量とコストを追跡する LLM呼び出し(OpenAIなど)のトークン使用量とコストを取得するには、EvaluationLogger をLLM呼び出しの前に**初期化してください。 LLMを最初に呼び出してから予測をログに記録すると、トークンとコストのデータは取得されません。 :::
  2. 予測をログに記録する: システムからの各入力/出力ペアに対して log_prediction を呼び出します。
  3. スコアをログに記録する: 返された ScoreLogger を使用して予測の log_score を行います。1つの予測に対して複数のスコアがサポートされています。
  4. 予測を完了する: 予測のスコアをログに記録した後、必ず finish() を呼び出して確定します。
  5. サマリーをログに記録する: すべての予測が処理された後、log_summary を呼び出してスコアを集計し、オプションでカスタムメトリクスを追加します。
予測に対して finish() を呼び出した後は、その予測に対してスコアをログに記録することはできません。
説明したワークフローを示すPythonコードについては、基本的な例をご覧ください。

基本的な例

次の例は、EvaluationLogger を使用して既存のPythonコードに予測とスコアをインラインでログに記録する方法を示しています。 この user_model モデル関数が定義され、入力のリストに適用されます。各例について:
  • 入力と出力は log_prediction を使用してログに記録されます。
  • 単純な正確性スコア(correctness_score)は log_score を介してログに記録されます。
  • finish() はその予測のログ記録を完了します。 最後に、log_summary は集計メトリクスを記録し、Weaveでの自動スコア要約をトリガーします。

高度な使用法

ログ記録前に出力を取得する

モデル出力を最初に計算し、その後で予測とスコアを別々にログに記録することができます。これにより、評価とログ記録のロジックをより適切に分離できます。

リッチメディアをログに記録する

入力、出力、スコアには、画像、動画、音声、構造化テーブルなどのリッチメディアを含めることができます。単に辞書またはメディアオブジェクトを log_prediction または log_score methods:

複数の評価をログに記録して比較する

EvaluationLogger を使用すると、複数の評価をログに記録して比較できます。
  1. 以下に示すコードサンプルを実行します。
  2. Weave UIで、Evals タブに移動します。
  3. 比較したい評価を選択します。
  4. Compare ボタンをクリックします。比較ビューでは、以下のことができます:
    • 追加または削除する評価を選択する
    • 表示または非表示にするメトリクスを選択する
    • 特定の例をページングして、異なるモデルが同じデータセットの同じ入力に対してどのようなパフォーマンスを示したかを確認する 比較に関する詳細については、Comparisons
The Evals tab The Comparison view

使用上のヒント

  • 各予測の後、速やかに finish() を呼び出します。
  • log_summary を使用して、単一の予測に関連付けられていないメトリクス(全体的なレイテンシーなど)を取得します。
  • リッチメディアのログ記録は定性的分析に最適です。