はじめに
weave.init() を呼び出すだけです。weave.init() の引数にはプロジェクト名を指定します。これはトレースの整理に役立ちます。
トレース
ワンクリックでの可観測性 🔭
WeaveCallbackHandler() を llama_index.core.global_handler に自動で設定します。そのため、LlamaIndex と Weave を使用するユーザーが行う必要があるのは、Weave の run を初期化することだけです - weave.init(<name-of-project>)
実験をより簡単に行うための Model を作成する
weave.Model を使用すると、system prompt や使用するモデルといった実験の詳細を記録して整理できるため、異なるイテレーションを比較しやすくなります。
次の例では、weave/data フォルダーにあるデータを使用して、WeaveModel で LlamaIndex のクエリエンジンを構築する方法を示します。
weave.Model を継承したこの SimpleRAGPipeline クラスは、この RAG パイプラインの重要なパラメーターをまとめます。query メソッドを weave.op() でデコレートすると、トレースできるようになります。
weave.Evaluation を使った評価
weave.Evaluation クラスを使うことで、特定のタスクやデータセットに対してモデルがどの程度うまく機能するかを把握できるため、異なるモデルやアプリケーションの各イテレーションを比較しやすくなります。次の例では、作成したモデルを評価する方法を示します。
weave.Evaluation を使って評価するには、評価用データセット、scorer 関数、weave.Model が必要です。以下に、この3つの主要コンポーネントに関する注意点を示します。
- 評価サンプルの dict のキーが、scorer 関数の引数および
weave.Modelのpredictmethod の引数と一致していることを確認してください。 weave.Modelには、predict、infer、またはforwardという名前の method が必要です。トレースのため、この method をweave.op()でデコレートしてください。- scorer 関数は
weave.op()でデコレートし、outputという名前付き引数を持つ必要があります。
Weave を LlamaIndex とインテグレーションすることで、LLM アプリケーションの包括的なログすることとモニタリングが可能になり、評価を活用したデバッグやパフォーマンスの最適化をより簡単に行えます.