weave.init() が呼び出されると、Weave は ChatNVIDIA ライブラリを介して行われる LLM 呼び出しを自動的にトラッキングしてログします。
トレース
- Python
- TypeScript
Weave は ChatNVIDIA Python ライブラリ のトレースを自動的にキャプチャできます。任意のプロジェクト名を指定して
weave.init(<project-name>) を呼び出すと、キャプチャを開始できます。
独自の op をトラッキングする
- Python
- TypeScript
関数を Weave にアクセスすると、UI で
@weave.op でラップすると、入力、出力、アプリのロジックの記録が始まり、データがアプリ内をどのように流れるかをデバッグできるようになります。op は深くネストでき、トラッキングしたい関数のツリーを構築できます。また、実験を進める中でコードのバージョン管理も自動的に始まり、git にまだコミットしていないアドホックな詳細も記録できます。ChatNVIDIA Python ライブラリ を呼び出す @weave.op 付きの関数を作成するだけです。以下の例では、2 つの関数を op でラップしています。これにより、RAG アプリの検索 step のような中間 step が、アプリの挙動にどう影響しているかを確認しやすくなります。get_pokemon_data をクリックして、その step の入力と出力を確認できます。
より簡単に実験できるように Model を作成する
- Python
- TypeScript
試行錯誤する要素が多いと、実験内容を整理するのは大変です。
Model クラスを使用すると、system prompt や使用中のモデルなど、アプリの実験に関する詳細を記録して整理できます。これにより、アプリのさまざまな反復を整理し、比較しやすくなります。Model は、コードのバージョン管理や入力/出力の記録に加えて、アプリケーションの動作を制御する構造化されたパラメーターも記録するため、どのパラメーターが最も効果的だったかを簡単に検索できます。また、Weave Models は serve や Evaluation と組み合わせて使用することもできます。以下の例では、model と system_message を試せます。これらのいずれかを変更するたびに、GrammarCorrectorModel の新しい version が作成されます。
使用情報
invoke、stream、およびそれらの非同期版をサポートしています。また、ツール使用もサポートしています。
ChatNVIDIA はさまざまなタイプのモデルで使用されることを想定しているため、function calling はサポートしていません。