Instructor
トレーシング
開発中および本番環境の両方で、言語モデルアプリケーションのトレースを中央の場所に保存することが重要です。これらのトレースはデバッグに役立ち、アプリケーションの改善に役立つデータセットとしても機能します。 WeaveはInstructorのトレースを自動的にキャプチャします。追跡を開始するには、weave.init(project_name="<YOUR-WANDB-PROJECT-NAME>")
を呼び出し、通常通りライブラリを使用します。
![]() |
---|
WeaveはInstructorを使用して行われたすべてのLLM呼び出しを追跡し、記録します。Weaveウェブインターフェースでトレースを表示できます。 |
独自のオペレーションを追跡する
関数を@weave.op
でラップすると、入力、出力、およびアプリケーションロジックのキャプチャが開始され、データがアプリケーションをどのように流れるかをデバッグできます。オペレーションを深くネストし、追跡したい関数のツリーを構築できます。これにより、実験時にコードの自動バージョン管理も開始され、gitにコミットされていないアドホックな詳細がキャプチャされます。
単に@weave.op
でデコレートされた関数を作成します。
以下の例では、extract_person
関数は@weave.op
でラップされたメトリック関数です。これにより、OpenAIチャット完了呼び出しなどの中間ステップを確認できます。
![]() |
---|
extract_person 関数を@weave.op でデコレートすると、その入力、出力、および関数内で行われるすべての内部LM呼び出しがトレースされます。Weaveはまた、Instructorによって生成された構造化オブジェクトを自動的に追跡し、バージョン管理します。 |
Model
を作成して実験を容易にする
多くの要素が動いている場合、実験の整理は困難です。Model
クラスを使用することで、システムプロンプトや使用しているモデルなど、アプリの実験的な詳細をキャプチャして整理できます。これにより、アプリのさまざまな反復を整理して比較するのに役立ちます。
コードのバージョン管理と入出力のキャプチャに加えて、Model
はアプリケーションの動作を制御する構造化パラメータをキャプチャし、どのパラメータが最適に機能したかを簡単に見つけることができます。Weave Modelsをserve
(以下を参照)、およびEvaluation
と一緒に使用することもできます。
以下の例では、PersonExtractor
で実験できます。これらのいずれかを変更するたびに、新しいversion のPersonExtractor
が得られます。
![]() |
---|
を使用した呼び出しのトレースとバージョン管理Model |
Weave Modelの提供
weaveリファレンスであるweave.Model
オブジェクトを使用して、fastapiサーバーをスピンアップしてserve
することができます。
![]() |
---|
任意のweave.Model のweaveリファレンスは、モデルに移動してUIからコピーすることで見つけることができます。 |