@weave.op() デコレーターを使用し、TypeScript では weave.op() でラップすることで、Weave でトラッキングできます。
アプリケーションの完全な実行フローを取得するため、関数とサブ関数はできるだけ細かい粒度でデコレートしてください。これにより、アプリケーションの動作をより深く理解し、適切に調整できるようになります。
ネストされた関数をトレースする
このセクションでは、関数とそのネストされたサブ関数をトレースする例を順を追って説明します。次のコードは クイックスタートの例 を基に、LLM から返された項目数を数え、それらをより上位レベルの関数でラップするロジックを追加したものです。さらに、この例ではweave.op() を使用して、すべての関数、その Call 順序、および親子関係をトレースします。
- Python
- TypeScript
extract_dinos と count_dinos) の入力と出力に加え、自動的に記録された OpenAI のトレースが表示されます。
メタデータをトラッキングする
Weave がネストされた関数をトレースするようになったので、ユーザーや環境など、run に関する追加のコンテキストをそれらのトレースに付加できます。メタデータをトラッキングするには、weave.attributes コンテキストマネージャーを使用し、呼び出し時にトラッキングするメタデータを辞書で渡します。
前の例の続きです。
- Python
- TypeScript
ユーザー ID やコードの実行環境 (開発、ステージング、本番) などのメタデータを実行時にトラッキングします。システム prompt などのシステム設定をトラッキングするには、Weave Models を使用してください。
次のステップ
- App Versioning チュートリアル に沿って、アドホックなプロンプト、モデル、アプリケーションへの変更を記録し、バージョン管理し、整理しましょう。