トレース
言語モデルアプリケーションのトレースは、開発時にも本番環境でも、一か所に集約して保存することが重要です。トレースはデバッグに役立つだけでなく、アプリケーションの改善に活用できるデータセットにもなります。 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 できます。
モデルをサービングするには、ターミナルで次のコマンドを実行します。



