title: “NVIDIA NIM” description: “Use Weave to trace and log LLM calls made via the ChatNVIDIA library”
Weaveは、ChatNVIDIAライブラリを介して行われたLLM呼び出しを、weave.init()
が呼び出された後、自動的に追跡およびログに記録します。
最新のチュートリアルについては、Weights & Biases on NVIDIAをご覧ください。
トレーシング
開発中および本番環境の両方で、LLMアプリケーションのトレースを中央データベースに保存することが重要です。これらのトレースはデバッグに使用し、アプリケーションを改善する際に評価するための難しい例のデータセットを構築するのに役立ちます。WeaveはChatNVIDIA python libraryのトレースを自動的にキャプチャできます。キャプチャを開始するには、
weave.init(<project-name>)
を任意のプロジェクト名で呼び出します。
独自のオペレーションを追跡する
関数をWeaveに移動し、UIで
@weave.op
でラップすると、入力、出力、およびアプリケーションロジックのキャプチャが開始され、データがアプリを通じてどのように流れるかをデバッグできます。オペレーションを深くネストして、追跡したい関数のツリーを構築できます。これにより、gitにコミットされていないアドホックな詳細をキャプチャするために、実験中にコードの自動バージョン管理も開始されます。単に@weave.op
でデコレートされた関数を作成し、ChatNVIDIA python libraryを呼び出します。以下の例では、opでラップされた2つの関数があります。これにより、RAGアプリの検索ステップなどの中間ステップが、アプリの動作にどのように影響しているかを確認できます。get_pokemon_data
をクリックすると、そのステップの入力と出力を確認できます。
Model
を作成して実験を容易にする
多くの要素がある場合、実験の整理は困難です。
Model
クラスを使用することで、システムプロンプトや使用しているモデルなど、アプリの実験的な詳細をキャプチャして整理できます。これにより、アプリのさまざまな反復を整理して比較するのに役立ちます。コードのバージョン管理と入出力のキャプチャに加えて、Model
はアプリケーションの動作を制御する構造化されたパラメータをキャプチャし、どのパラメータが最適に機能したかを簡単に見つけることができます。また、Weave Modelsをserve
、およびEvaluation
と一緒に使用することもできます。以下の例では、model
とsystem_message
を試すことができます。これらのいずれかを変更するたびに、新しいversionのGrammarCorrectorModel
が得られます。
使用情報
ChatNVIDIA統合はinvoke
、stream
およびそれらの非同期バリアントをサポートしています。また、ツールの使用もサポートしています。
ChatNVIDIAは多くのタイプのモデルで使用することを目的としているため、関数呼び出しのサポートはありません。