トレース
weave.init(project_name="<YOUR-WANDB-PROJECT-NAME>") を呼び出してから、通常どおりライブラリを使用します。
![]() |
|---|
| Weave は、Instructor を使用して行われたすべての LLM calls をトラッキングしてログするようになりました。これらのトレースは、Weave の Web インターフェースで確認できます。 |
独自のopsをトラッキングする
@weave.opでラップすると、inputs、outputs、アプリのロジックのキャプチャが始まり、データがアプリ内をどのように流れるかをデバッグできるようになります。opsは深くネストできるため、トラッキングしたい関数のツリーを構築できます。また、試行錯誤を進める中でコードのバージョン管理も自動的に始まり、gitにコミットされていないアドホックな詳細もキャプチャできます。
@weave.opでデコレートした関数を作成するだけです。
以下の例では、extract_person関数が@weave.opでラップされたメトリクス関数です。これにより、OpenAIのChat Completion callのような中間stepも確認できます。
![]() |
|---|
extract_person 関数を @weave.op でデコレートすると、その入力、出力、および関数内で行われるすべての内部 LM calls がトレースされます。Weave は、Instructor によって生成された構造化オブジェクトも自動的にトラッキングしてバージョン管理します。 |
実験しやすくするために Model を作成する
Model クラスを使用すると、system prompt や使用しているモデルなど、アプリの実験に関する詳細を記録して整理できます。これにより、アプリのさまざまな試行を整理して比較しやすくなります。
Model は、コードのバージョン管理や入力/出力の記録に加えて、アプリケーションの動作を制御する構造化されたパラメーターも記録するため、どのパラメーターが最も効果的だったかを簡単に検索できます。また、Weave Models は serve (以下を参照) や Evaluation と組み合わせて使用することもできます。
以下の例では、PersonExtractor を使って実験できます。これらのいずれかを変更するたびに、PersonExtractor の新しい version が作成されます。
![]() |
|---|
Model を使用した call のトレースとバージョン管理 |
Weave Model をサービングする
weave.Model オブジェクトの weave reference があれば、FastAPI サーバーを起動して serve できます。
ターミナルで次のコマンドを実行すると、モデルをサーブできます:



