weave.init() を呼び出した後、 LiteLLM を介して行われる LLM 呼び出しを自動的に追跡し、 ログ を記録します。
Traces
開発中および プロダクション の両方において、 LLM アプリケーション の トレース を中央の データベース に保存することは重要です。 これらの トレース は、 デバッグ や、 アプリケーション を改善するための データセット として活用できます。注意: LiteLLM を使用する場合、Weave は LiteLLM の トレース を自動的に取得します。 通常通り ライブラリ を使用できます。 まずはfrom litellm import completionではなく、import litellmを使用して ライブラリ をインポートし、litellm.completionで補完機能を呼び出すようにしてください。 これにより、 すべての関数と パラメータ が正しく参照されます。
weave.init() を呼び出すことから始めましょう:
独自の op でラップする
Weave の op を使用すると、 実験 に伴い コード を自動的に バージョン管理 し、 入出力を取得することで、 結果 の再現性を高めることができます。@weave.op() デコレータを付けた関数を作成し、 その中で LiteLLM の completion 関数を呼び出すだけで、 Weave が入出力を追跡します。 以下に例を示します:
実験を容易にするための Model の作成
多くの要素が動的に変化する状況では、 実験 の整理が難しくなります。 Model クラスを使用すると、 システムプロンプトや使用している モデル などの アプリケーション の 実験 詳細を取得し、 整理することができます。 これにより、 アプリケーション の異なる反復(イテレーション)の整理や比較が容易になります。
コード の バージョン管理 や入出力の取得に加えて、 Models は アプリケーション の 振る舞い を制御する構造化された パラメータ を取得するため、 どの パラメータ が最適であったかを簡単に見つけ出すことができます。 また、 Weave の Models は serve や Evaluations と併用することも可能です。
以下の例では、 異なる モデル や temperature(温度)を試すことができます:
関数呼び出し (Function Calling)
LiteLLM は、 対応している モデル で関数呼び出しをサポートしています。 Weave はこれらの関数呼び出しを自動的に追跡します。