failproofai-sdk に含まれており、failproofai_sdk.evaluator 配下にあります。トレーシングSDKをインポートしても自動的には読み込まれません。
評価の作成
@app.eval(key, version=...)で評価を登録します。キーは結果のチャート表示に使われます。ロジックを変更したらバージョンも更新してください。各結果にはそれを生成したバージョンが保持されます。1つのワーカーには最大100件の評価を登録できます。result_kindは特に指定しない限り"score"です。"metric"または"assertion"評価の場合は、metricsまたはassertionsエントリのいずれか1つにキーと同じ名前を付けてください。そのエントリが結果として扱われます。whenはセッションに評価を適用するかどうかを決定します。スキップする場合はConditionResult(False, "<reason>")を返してください。理由が記録されます。- 評価は通常の関数でも
async関数でも構いません。timeout_secondsでタイムアウトを設定できます。 - ペイロードキー(上記の
tool_name、response、contentなど)はエージェントが送信する値によって異なるため、実際のセッションから確認してください。
ワーカーの起動
Administration → Keys で作成したevaluations:run 権限を持つキーを FAILPROOFAI_EVALUATOR_TOKEN に設定し(コマンドに直接入力せず、シークレットストアから設定してください)、ワーカーを起動します。
__main__ ブロックがない場合は、python -m failproofai_sdk.evaluator evaluator:app でも同様に起動できます。
結果の型
EvalResult にはスコア、メトリクス、アサーションのいずれかが少なくとも1つ必要で、最大25件まで設定できます。それぞれのキーは一意である必要があります。
セッション
各イベントには
id、ts、event_type、payload が含まれます。
レガシー評価器
旧Evaluator SDK(Failproof AIがEVALUATOR_ENDPOINT でHTTPサービスを呼び出し、/evaluate に応答し、JobPending でポーリングする方式)は廃止されました。新しい評価器はこのワーカーを使用して構築してください。レガシーサービスを稼働中のセルフホスト環境のオペレーターは、移行期間中は引き続き使用できます。
