LLM プレイグラウンドを使用すると、セットアップ不要で Weave 上の OpenAI モデルを試せます。
トレース
LLM アプリケーションのトレースを一元的なデータベースに保存しておくと、開発時にも本番環境でも役立ちます。トレースはデバッグに使用できるほか、アプリケーションの改善時に評価に使う、難しい事例を集めたデータセットの構築にも役立ちます。 Weave はopenai Python ライブラリのトレースを自動的に取得できます。
取得を開始するには、任意のプロジェクト名を指定して weave.init("[PROJECT_NAME]") を呼び出します。Weave は OpenAI をインポートするタイミングにかかわらず自動的にパッチを適用するため、以降の OpenAI の Call はすべてトレースされます。
weave.init() の呼び出し時に CoreWeave Forge のチームを指定しない場合、Weave はデフォルトの entity を使用します。デフォルトの entity を確認または変更するには、Weights & Biases Models ドキュメントの User Settings を参照してください。
自動パッチ適用
Weave は、OpenAI をweave.init() の前後どちらでインポートしても、自動的に OpenAI にパッチを適用します。次の例は、Call のトレースを開始するために必要な最小限のセットアップです。
オプション: 明示的なパッチ適用
パッチを適用するタイミングを細かく制御したい場合は、自動の動作に任せず、OpenAI に明示的にパッチを適用します。Structured outputs
Weave は OpenAI の structured outputs のトレースをサポートしています。structured outputs は、LLM の応答を特定の形式に確実に従わせたい場合に便利です。次の例では、ユーザーメッセージから型付きのUserDetail オブジェクトを抽出する Call をトレースします。
Async のサポート
Weave は非同期の OpenAI Call のトレースをサポートしています。そのため、AsyncOpenAI を使用するアプリケーションでも、同期アプリケーションと同様の可観測性が得られます。
ストリーミングのサポート
Weave は、OpenAI からのストリーミング応答のトレースをサポートしています。取得されたトレースにはストリーミングされた完了内容の全体が反映されるため、最終的な出力をリクエストパラメーターと並べて確認できます。関数の Call のトレース
ツールを使用すると、OpenAI による関数の Call が Weave によってトレースされます。これにより、モデルが各ツールをどのように呼び出し、どのような引数を渡したかを把握できます。Batch API
Weave は OpenAI Batch API をサポートしています。Batch API を使用すると複数のリクエストを非同期で処理でき、その場合も Weave は各リクエストをトレースに取得します。Assistants API
Weave は OpenAI Assistants API をサポートしているため、アシスタント、スレッド、run を中心に構築した対話型 AI アプリケーションをトレースできます。コストのトラッキング
Weave は OpenAI API の呼び出しにかかるコストを自動的にトラッキングするため、パフォーマンスとあわせて支出を監視できます。コストの内訳は Weights & Biases の UI で確認できます。コストのトラッキングはすべての OpenAI モデルで利用できます。Weave は OpenAI が公開している料金に基づいてコストを算出します。
カスタム関数のトレース
OpenAI の Call を独自のアプリケーションロジック単位でまとめるには、OpenAI を使用するカスタム関数に@weave.op デコレーターを適用してトレースします。これにより、その関数の親トレースが生成され、内部で実行される OpenAI の Call がその中にネストされます。
次のステップ
OpenAI のトレースを設定したので、アプリケーションの Call を Weave で確認できるようになりました。次に、以下のことを行えます。- Weights & Biases UI でトレースを表示する: Weave プロジェクトに移動して、OpenAI の Call のトレースを確認します。
- 評価を作成する: トレースを使用して評価用のデータセットを構築します。
- パフォーマンスを監視する: レイテンシー、コスト、その他のメトリクスをトラッキングします。
- 問題をデバッグする: トレースを使用して、LLM アプリケーション内で何が起きているかを把握します。