Skip to main content
Open In Colab Instructor は、LLM から JSON などの構造化データを取得するための軽量ライブラリです。このガイドでは、Weave で Instructor の Call をトレースする方法を説明します。これにより、構造化抽出のデバッグ、Pydantic の検証の取得、再試行ロジックの確認が行えます。

トレース

言語モデルアプリケーションのトレースは、開発時にも本番環境でも、一か所に集約して保存することが重要です。トレースはデバッグに役立つだけでなく、アプリケーションの改善に活用できるデータセットにもなります。 Weave は Instructor のトレースを自動的に取得します。トラッキングを開始するには、weave.init(project_name="[YOUR-WANDB-PROJECT-NAME]") を呼び出してから、通常どおりライブラリを使用してください。

独自の Op をトラッキングする

関数を @weave.op でラップすると、入力、出力、アプリのロジックの取得が始まり、アプリ内のデータの流れをデバッグできるようになります。Op は深くネストでき、トラッキングしたい関数のツリーを構築できます。さらに、実験を進めながらコードのバージョン管理も自動的に行われ、Git にまだコミットしていないその場限りの変更内容も取得されます。 @weave.op でデコレートした関数を作成します。 次の例では、extract_person 関数が @weave.op でラップされたメトリクス関数です。これにより、OpenAI のチャット補完 Call などの中間ステップを確認できます。

Model を作成して実験を効率化する

構成要素が多いと、実験の整理は難しくなります。Model クラスを使用すると、システムプロンプトや使用しているモデルなど、アプリの実験に関する詳細を取得して整理できます。これにより、アプリのさまざまな反復処理を整理して比較しやすくなります。 Model は、コードのバージョン管理や入力と出力の取得に加えて、アプリケーションの動作を制御する構造化されたパラメーターも取得します。そのため、どのパラメーターが最も効果的だったかを検索できます。また、Weave モデルは serve や Evaluation と組み合わせて使用することもできます。 次の例では、PersonExtractor を使って実験できます。これらのいずれかを変更するたびに、PersonExtractor の新しいバージョンが作成されます。

Weave モデルをサービングする

weave.Model を保存したら、FastAPI エンドポイントとしてサービングし、ノートブックの外部からテストしたり、他のアプリケーションと統合したりできます。weave.Model オブジェクトの Weave リファレンスがあれば、FastAPI サーバーを起動してモデルを serve できます。 モデルをサービングするには、ターミナルで次のコマンドを実行します。
最終更新日 2026年9月30日