Skip to main content

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>)を任意のプロジェクト名で呼び出します。
chatnvidia_trace.png

独自のオペレーションを追跡する

関数を@weave.opでラップすると、入力、出力、およびアプリケーションロジックのキャプチャが開始され、データがアプリを通じてどのように流れるかをデバッグできます。オペレーションを深くネストして、追跡したい関数のツリーを構築できます。これにより、gitにコミットされていないアドホックな詳細をキャプチャするために、実験中にコードの自動バージョン管理も開始されます。単に@weave.opでデコレートされた関数を作成し、ChatNVIDIA python libraryを呼び出します。以下の例では、opでラップされた2つの関数があります。これにより、RAGアプリの検索ステップなどの中間ステップが、アプリの動作にどのように影響しているかを確認できます。
Weaveに移動し、UIでget_pokemon_dataをクリックすると、そのステップの入力と出力を確認できます。
nvidia_pokedex.png

Modelを作成して実験を容易にする

多くの要素がある場合、実験の整理は困難です。Modelクラスを使用することで、システムプロンプトや使用しているモデルなど、アプリの実験的な詳細をキャプチャして整理できます。これにより、アプリのさまざまな反復を整理して比較するのに役立ちます。コードのバージョン管理と入出力のキャプチャに加えて、Modelはアプリケーションの動作を制御する構造化されたパラメータをキャプチャし、どのパラメータが最適に機能したかを簡単に見つけることができます。また、Weave Modelsをserve、およびEvaluationと一緒に使用することもできます。以下の例では、modelsystem_messageを試すことができます。これらのいずれかを変更するたびに、新しいversionGrammarCorrectorModelが得られます。
chatnvidia_model.png

使用情報

ChatNVIDIA統合はinvokestreamおよびそれらの非同期バリアントをサポートしています。また、ツールの使用もサポートしています。 ChatNVIDIAは多くのタイプのモデルで使用することを目的としているため、関数呼び出しのサポートはありません。