ガイド
マネージド実行
マネージド実行は、スイートをあなたのマシンではなく Oloproof のワーカーで実行し、ジョブページまたはターミナルから見守ります。必要なのは oloproof login だけで、データベース接続も自前のランナーも要りません。
ワーカーが実行するもの
ワーカーは HTTP 経由でシステムを呼び出します。oloproof.yaml で http: を使って宣言します(設定):
system:
name: support-bot
version: v3
http:
url: https://support-bot.example.com/answer
output_path: answerワーカーが拒否するもの:
- callable: または rag: のシステム。ジョブがキューに入る前に拒否されます。それはあなたのコードであり、Oloproof のワーカーは顧客のコードを実行しません。自分のマシンで実行して(oloproof run)実行結果をプッシュするか、自分で運用するランナーで実行してください。
- recorded: の回答ファイル。これはあなたのマシンに留まります。oloproof run でローカルに実行してください。
- 公開インターネット上にないアドレス: localhost、単一ラベルの名前、プライベート、リンクローカル、クラウドメタデータのアドレス。各呼び出しは行われる時点で確認されるため、そのようなケースは到達せずにエラーになります。ワーカーが到達できるのは、インターネット上の誰もが到達できるものだけです。
- 生成された攻撃ケース。ただし oloproof.yaml が adversarial: {sandboxed: true} を宣言している場合を除きます(攻撃の生成)。--allow-adversarial はローカル実行にのみ適用されます。
実行する
oloproof login
oloproof run --cloud --max-runtime 900run --cloud はスイートのケースをワークスペースに送り(マネージド実行は持っていないケースを実行できません)、ジョブをキューに入れて、見守る場所を表示します。ワークスペースがすでに完全な形で保持しているスイートは再送されません。
ワーカーはスイートを保持する前に各ケースをそのダイジェストと照合し、一致しないものは拒否します。そのため run --cloud は、内容を伏せるためにダイジェストを鍵付きにするプロジェクト(egress:、結果と実行)であっても、ワーカーと同じく鍵なしでケースのダイジェストを計算します。ケースはどのみち完全な形で送られるので、鍵を付けても何も隠せないからです。したがって、マネージド実行のスイートは、同じプロジェクトのローカル実行が記録するスイートとは別のスイートになります。ワークスペースがすでに(push による)鍵付きのエビデンスを保持しているプロジェクトは拒否されます。oloproof run で実行し、その実行を push してください。
--max-runtime はジョブの期限を秒で指定し、上限は一日、またはそれより短ければプランの上限です。oloproof.yaml の budget: は、ローカルと同じようにワーカー上でも拘束力を持ちます。
実行できる人: ワークスペースの Owner、Admin、Member。Reviewer はできません。
見守る
プロジェクトのジョブページは、各ジョブのケースを届いた順に表示します: 実行済みと判定済みの件数、チェックごとの合格と不合格の集計、最新のケース。集計はこれまでの件数であり、結果ではありません。判定は実行全体が保存されてから下され、その後に実行のページに表示されます。
ターミナルでは:
oloproof job JOB_ID --followは数秒ごとに同じ件数を表示し、続いて実行のゲートを表示して、ゲートの終了コードで終了します。そのため、パイプラインはローカル実行と同じようにマネージド実行を待てます(CI)。--follow なしでは、job は一度だけ報告します。まだ実行中のジョブは、まだ判定ではないため 2 で終了します。--cancel はキュー内のジョブを即座に止め、実行中のジョブを次の呼び出しの前に止めて、完了したケースは残します。
判定役のためのキー
モデルプロバイダーを呼び出す判定役やシステムには、ワーカー上にそのキーが必要です。一度保存します:
export OPENAI_API_KEY=...
oloproof credentials set OPENAI_API_KEY
oloproof credentials listキーは環境変数または標準入力から読み取られ、コマンドラインからは決して読み取られません。キーはワーカーによって暗号化され、このワークスペースのジョブを実行するワーカーだけが読めます。誰も読み戻すことはできず、credentials list は名前だけを表示します。その後、評価器の api_key_env: OPENAI_API_KEY がそれを見つけます。マネージドジョブはそれ以外の環境変数を読みません。キーを保存できるのは Owner または Admin だけです。
これでわからないこと
- システムが、あなたのネットワークからと同じように Oloproof のネットワークから振る舞うかどうか。ワーカーは公開インターネットからエンドポイントを呼び出します。それを異なって扱うレート制限、リージョン、許可リストは、測るものを変えます。
- ワーカーが実行しなかったコードについてのこと。マネージド実行は指定したエンドポイントを測るのであって、その背後のコードを測るのではありません。
評価でわからないこと にあるほかのすべての限界も、ここで当てはまります。