メインコンテンツへスキップ
Colab で開く このガイドでは、OpenAI の Python ライブラリと TypeScript ライブラリを Weave と統合し、LLM アプリケーションをトレース、評価、モニタリングする方法を説明します。対象は、すでに OpenAI の SDK を使用していて、開発中および本番環境で Call を可視化したい開発者です。
設定不要で Weave 上の OpenAI モデルを試すには、LLM Playground をご利用ください。

トレース

開発中も本番環境でも、LLM アプリケーションのトレースを一元的なデータベースに保存することは有用です。これらのトレースは、デバッグに使用できるだけでなく、アプリケーションを改善する際に評価対象とする難しいケースのデータセットを構築するのにも役立ちます。 Weave では、openai Python library のトレースを自動的に取得できます。 任意のプロジェクト名を指定して weave.init("[PROJECT_NAME]") を呼び出すと、トレースの取得が開始されます。Weave は import のタイミングに関係なく OpenAI を自動的にパッチするため、その後の OpenAI のすべての Call がトレースされます。 weave.init() の呼び出し時に W&B team を指定しない場合は、Weave によってデフォルトの entity が使用されます。デフォルトの entity を確認または更新するには、W&B Models ドキュメントの User Settings を参照してください。

自動パッチ適用

Weave は、weave.init() の前でも後でも、OpenAI をインポートすると自動的にパッチを適用します。次の例は、Call のトレースを開始するために必要な最小限のセットアップを示しています。

任意: 明示的なパッチ適用

パッチ適用を有効にするタイミングをより細かく制御するには、自動的な動作に任せるのではなく、OpenAI を明示的にパッチします。
ライブトレースを表示
Weave は、OpenAI FunctionsOpenAI Assistants の関数呼び出しツールもキャプチャしています。

構造化出力

Weave は、OpenAI の構造化出力のトレースもサポートしています。これは、LLM のレスポンスを特定の形式に従わせる必要がある場合に役立ちます。次の例では、ユーザーメッセージから型付き UserDetail オブジェクトを抽出する呼び出しをトレースします。

Async のサポート

Weave は非同期の OpenAI Call のトレースもサポートしているため、AsyncOpenAI を使用するアプリケーションでも、同期アプリケーションと同じ可視性が得られます。

ストリーミングのサポート

Weave は、OpenAI からのストリーミング応答のトレースをサポートしています。取得されたトレースには、ストリーミングされた完全な補完結果が反映されるため、リクエストのパラメーターとあわせて最終的な出力を確認できます。

関数Callのトレース

Weave は、ツール使用時に OpenAI が行う関数Callもトレースします。これにより、モデルが各ツールをどのように呼び出したか、またどの引数を渡したかを把握できます。

Batch API

Weave は OpenAI Batch API をサポートしており、複数のリクエストを非同期で処理しつつ、各リクエストをトレースに取得できます。

Assistants API

Weave は OpenAI Assistants API をサポートしているため、assistant、thread、run をベースに構築された会話型 AI アプリケーションをトレースできます。

コストトラッキング

Weave は、OpenAI API Call のコストを自動的にトラッキングするため、パフォーマンスとあわせて支出をモニターできます。コストの内訳は Weave UI で確認できます。
コストトラッキングはすべての OpenAI モデルで利用でき、Weave は OpenAI が公開している料金に基づいてコストを計算します。

カスタム関数のトレース

OpenAI の Call を独自のアプリケーション ロジックの下でグループ化するには、@weave.op デコレータを適用して、OpenAI を使用するカスタム関数をトレースします。これにより、関数の親トレースが生成され、その中に基盤となる OpenAI の Call がネストされます。

次のステップ

OpenAI 向けのトレースを設定すると、アプリケーションの Call を Weave で確認できるようになります。ここから、次のことができます。
  • Weave UI でトレースを表示する: Weave プロジェクトに移動して、OpenAI Call のトレースを確認します。
  • 評価を作成する: トレースを使用して、評価用データセットを作成します。
  • パフォーマンスを監視する: レイテンシ、コスト、その他のメトリクスをトラッキングします。
  • 問題をデバッグする: トレースを使用して、LLM アプリケーションで何が起きているかを把握します。
これらのトピックの詳細については、評価ガイドモニタリング ガイド を参照してください。