メインコンテンツへスキップ
Colab で開く weave.init() の呼び出し後、Weave は LiteLLM 経由で行われた LLM Call を自動的にトラッキングしてログします。このガイドでは、Weave と LiteLLM を使用してトレースを取得し、Call をバージョン管理された op でラップし、Model で Experiments を整理し、function-calling の動作をトラッキングする方法を説明します。LLM アプリケーションを構築していて、LiteLLM がサポートする複数のモデルプロバイダ全体で可観測性を確保したい場合にご利用ください。

トレース

開発中でも本番環境でも、LLM アプリケーションのトレースを一元的なデータベースに保存しておくことが重要です。これらのトレースはデバッグに使用するほか、アプリケーションの改善に役立つデータセットとしても活用します。
注: LiteLLM を使用する場合は、from litellm import completion ではなく、必ず import litellm を使ってライブラリをインポートし、litellm.completion() で completion 関数を呼び出してください。これにより、すべての関数とパラメーターが正しく参照されます。
Weave は LiteLLM のトレースを自動的に取得します。ライブラリは通常どおり使用でき、まず weave.init() を呼び出して開始します。
Weave で、LiteLLM を通じて行われるすべての LLM 呼び出しがトラッキングおよびログするようになりました。Weave の Web インターフェースでトレースを確認できます. 基本的なトレースを設定したら、次のセクションでは、アプリケーション ロジックをより細かい粒度でバージョン管理しながらトラッキングできるように、LiteLLM の Call を独自の Weave ops でラップする方法を示します。

独自の ops でラップする

Weave の op は、実験中のコードを自動的にバージョン管理し、入力と出力を記録することで、結果の再現性を高めます。@weave.op() でデコレートした関数を作成し、その中で LiteLLM の completion 関数を呼び出すと、Weave が入力と出力をトラッキングしてくれます。以下はその例です。

試行錯誤をしやすくするために Model を作成する

構成要素が同時に多く動くと、実験内容を整理するのは難しくなります。Model クラスを使用すると、system prompt や使用しているモデルなど、アプリの実験に関する詳細を取得して整理できます。これにより、アプリの異なるバージョンを整理して比較しやすくなります。 コードのバージョン管理や入出力の記録に加えて、Models はアプリケーションの挙動を制御する構造化されたパラメーターも取得するため、どのパラメーターが最も適しているかを確認するのに役立ちます。さらに、Weave Models は serve や評価でも使用できます。 以下の例では、さまざまなモデルと temperature を試せます。

関数呼び出し

LiteLLM は、互換性のあるモデルで関数呼び出しをサポートしています。Weave はこれらの関数 Call を自動的にトラッキングするため、他のトレースとあわせて関数、引数、応答を確認できます。
Weave は、プロンプトで使用する関数を自動的に記録し、バージョン管理された状態で保持します。 litellm.gif