カスタムモニターは、本番トラフィックをモニタリングするための従来の手法です。新たに実装する場合は、Weave for Agents の Signals を使用してください。詳しくは、エージェントのシグナルを表示するを参照してください。
シグナルとカスタムモニター
本番トレース向けのプリセットの自動Scorerであるシグナルを使用すると、本番モニタリングをすばやく開始できます。そのうえで、アプリケーション固有の評価基準に応じてカスタムモニターを追加してください。Weave でモニターを作成する
Weave でカスタムモニターを作成するには、次の手順を実行します。- Weights & Biases UI を開き、Weights & Biases の project を開きます。
- Weave のサイドバーで Monitors を選択し、+ New Monitor ボタンを選択します。Create new monitor モーダルダイアログが開きます。
-
Create new monitor メニューで、次のフィールドを設定します。
- Name: 先頭は英字または数字にする必要があります。英字、数字、ハイフン、アンダースコアを使用できます。
- Description (オプション): モニターの機能を説明します。
- Active monitor トグル: モニターのオンとオフを切り替えます。
- Calls to monitor:
- Operations: 監視する
@weave.opを 1 つ以上選択します。Op を使用可能な Op の一覧に表示するには、その Op を使用するトレースを少なくとも 1 つログしておく必要があります。 - Filter (オプション): 対象とする Call を絞り込みます (例:
max_tokensやtop_pで絞り込む)。 - サンプリング率: スコアリングする Call の割合 (0% ~ 100%) です。
- Operations: 監視する
- LLM-as-a-judge configuration:
- Scorer name: 先頭は英字または数字にする必要があります。英字、数字、ハイフン、アンダースコアを使用できます。
- Score Audio: 使用可能な LLM モデルを絞り込んでオーディオ対応モデルのみを表示し、Media Scoring JSON Paths フィールドを開きます。
- Score Images: 使用可能な LLM モデルを絞り込んで画像対応モデルのみを表示し、Media Scoring JSON Paths フィールドを開きます。
- Judge model: Op のスコアリングに使用するモデルを選択します。メニューには、CoreWeave Forge アカウントで設定済みの商用 LLM モデルと、Serverless Inference モデルが表示されます。オーディオ対応モデルには、名前の横に Audio Input ラベルが表示されます。選択したモデルについて、次の項目を設定します。
- Configuration name: このモデルの設定の名前です。
- System prompt: 評価を行うモデルの役割とペルソナを定義します。例: 「You are an impartial AI judge.」
- Response format: 評価モデルが応答を出力する形式です。
json_objectやプレーンなtextなどを指定します。 - スコアリング プロンプト: Op のスコアリングに使用する評価タスクです。スコアリング プロンプトでは、Op のプロンプト変数を参照できます。例: 「Evaluate whether
{output}is accurate based on{ground_truth}.」
- Media Scoring JSON Paths: トレースデータからメディアを抽出するための JSONPath 式 (RFC 9535) を指定します。パスを指定しない場合、モニターはユーザーメッセージに含まれるスコアリング可能なすべてのメディアを対象にします。このフィールドは、Score Audio または Score Images を有効にすると表示されます。
- モニターのフィールドを設定したら、Create monitor を選択します。モニターが Weights & Biases の project に追加されます。コードがトレースを生成し始めたら、Traces タブでモニター名を選択し、表示されるパネルでスコアを確認できます。
feedback フィールドに自動的に保存します。
例: 真実性モニターを作成する
以下のエンドツーエンドの例では、生成された文の真実性を評価するモニターを作成する手順を説明します。この例を完了すると、Weave プロジェクト内のサンプル op をスコアリングする実行中のモニターが作成され、スコアリングされたトレースを Weights & Biases UI で確認できるようになります。- 文を生成する関数を定義します。生成される文には、真実のものとそうでないものがあります。
- Python
- TypeScript
- 関数を少なくとも 1 回実行して、project にトレースをログします。これにより、Weights & Biases UI でその op をモニタリングの対象として選択できるようになります。
- Weights & Biases UI で対象の project を開き、サイドバーから Monitors を選択します。次に New Monitor を選択します。
-
Create new monitor メニューで、各フィールドに以下の値を設定します。
- Name:
truthfulness-monitor - Description:
Evaluates the truthfulness of generated statements. - Active monitor: on に切り替えます。
- Operations:
generate_statementを選択します。 - サンプリング率: すべての call をスコアリングするため、
100%に設定します。 - Scorer name:
truthfulness-scorer - Judge model:
o3-mini-2025-01-31 - System prompt:
You are an impartial AI judge. Your task is to evaluate the truthfulness of statements. - Response format:
json_object - スコアリング プロンプト:
- Name:
- Create monitor を選択します。これで、モニターが Weave プロジェクトに追加されます。
- スクリプト内で、真実性の度合いが異なる文を渡して関数を呼び出し、スコアリング関数をテストします。
- Python
- TypeScript
- いくつかの文でスクリプトを実行したら、Weights & Biases UI を開いて Traces タブに移動します。任意の LLMAsAJudgeScorer.score トレースを選択すると、結果を確認できます。
これで、generate_statement の各 invocation をスコアリングし、その結果を元のトレースとあわせて保存する真実性モニターが動作するようになりました。保存された結果は、Weights & Biases UI ですぐに分析や比較に利用できます。