Skip to main content
システムのパフォーマンスを理解するには、入力、出力、メタデータに加えて、アプリ内を流れるデータをトラッキングすることが不可欠です。同じく重要なのが、アプリを継続的にバージョン管理することです。バージョン管理によって、コードやパラメーターの変更が出力にどう影響するかを把握できます。Weave の Model クラスを使えば、こうした変更が自動的にトラッキングされます。 このチュートリアルは、LLM アプリケーションの異なるバージョン間で結果を比較・再現したい開発者を対象としています。このチュートリアルを完了すると、アプリケーションのパラメーターとコードを取得する、バージョン管理された Weave Model が完成します。また、以前のバージョンを取得して再利用する方法も身につきます。 このチュートリアルでは、次の内容を学びます。
  • Weave Model を使用して、アプリケーションとそのパラメーターをトラッキングし、バージョン管理する方法
  • ログ済みの Weave Model をエクスポート、変更、再利用する方法

weave.Model を使用する

weave.Model クラスは Python でのみサポートされています。
Weave Model を使用すると、モデルベンダー ID、プロンプト、temperature などのパラメーターが変更されるたびに、Weave がそれらを保存してバージョン管理します。 Weave で Model を作成するには、次のものが必要です。
  • weave.Model を継承するクラス。
  • すべてのクラスフィールドの型定義。
  • @weave.op() デコレーターを付けた、型付きの invoke 関数。
クラスフィールドやモデルを定義するコードを変更すると、Weave はその変更をログし、バージョンを更新します。これにより、アプリの異なるバージョン間で生成結果を比較できます。 次の例では、Weave がモデル名、temperature、システムプロンプトをトラッキングし、バージョン管理します。
これで、モデルをインスタンス化し、invoke で呼び出せます。
.invoke() を呼び出すと、Weave のトレースに、モデルのパラメーターと、weave.op() でデコレートされたモデル関数のコードが記録されます。モデルもバージョン管理されます (この例では v21) 。モデルをクリックすると、そのバージョンを使用したすべての Call を確認できます。 Weave モデルの再利用 weave.Model を使用する際の注意点:
  • 必要に応じて、Weave Model の関数名には invoke の代わりに predict を使用することもできます。
  • その他のクラスメソッドを Weave でトラッキングするには、weave.op() でラップします。
  • アンダースコアで始まるパラメーターは Weave によって無視され、ログされません。

ログした weave.Model をエクスポートして再利用する

モデルが Weave でバージョン管理されるようになったため、コードで再定義しなくても、過去の任意のバージョンを取得して再実行できます。これは、過去の結果を再現したい場合や、特定のモデルバージョンを他のユーザーと共有したい場合に便利です。 Weave は呼び出されたモデルを保存してバージョン管理するため、それらのモデルをエクスポートして再利用できます。

モデル の ref を取得する

Weights & Biases の UI で、特定のバージョンの モデル の ref を取得できます。

モデル を使用する

モデル オブジェクトの URI を取得したら、それをエクスポートして再利用できます。エクスポートされたモデルは初期化済みのため、そのまま使用できます。
新しい入力にも同じ モデル バージョン (v21) が使用されていることがわかります。 Weave モデルの再利用 これで、バージョン管理された Weave Model を用意できました。このモデルは継続的に改良でき、取得してアプリケーションのさまざまなバージョンで再利用できます。

次のステップ

最終更新日 2026年9月30日