model の値を router に設定するだけで利用できます。それ以外のリクエストと応答の処理は変わりません。
始める前に
Forge API キー、ルーティングが適用された project、およびその project のOpenAI-Project の値が必要です。この値は [ENTITY]/[PROJECT] の形式で、[PROJECT] には project のエイリアスではなく、その project の Weights & Biases のプロジェクト名が入ります。この値は、Studio の project ヘッダーと project の設定ページに表示され、そのままコピーできます。
以下の例では your-team/ticket-classifier を使用しています。ご自身の project の OpenAI-Project の値に置き換えてください。
- Python
- JavaScript
- cURL
project オプションを OpenAI-Project ヘッダーとして送信します。この値は OPENAI_PROJECT_ID 環境変数からも読み取られます。このヘッダーを指定した場合、model: "router" には project のバージョン 1 の重み付きルーティングが適用されます。別のバージョンを使用するには、metadata に "forge.project_version": "2" を追加してください。
例に示すように、metadata は create() に直接渡してください。openai Python パッケージの古いリリースには metadata パラメータがありません。その場合は、パッケージをアップグレードするか、同じオブジェクトを extra_body={"metadata": {...}} として渡してください。
インテグレーションを検証する
リクエストを送信したら、project の概要に戻り、次の点を確認します。- リクエスト数が増えている。
- 想定したモデルがリクエストを処理している。
- 保存済みの入力と回答が正しい内容になっている。
404 と No routing configuration for project を返す場合は、OpenAI-Project の値を確認してください。この値には、project のエイリアスではなく、Weights & Biases のプロジェクト名を指定する必要があります。また、ルーティングが適用されていることも確認してください。その他のエラーについては、プロキシのエラーを参照してください。
会話のアイデンティティを保持する
1 つの会話内のすべてのリクエストで同じgen_ai.conversation.id を使用します。これにより、段階的なロールアウト中も会話で同じモデルが使用され、データの準備時に関連するサンプルがまとめられます。
チャット補完の詳細
ストリーミング、ツール、構造化出力、プロバイダーのパラメーター、リクエストの優先順位について説明します。