メインコンテンツへスキップ
入力、出力、メタデータアプリ内を流れるデータをトラッキングすることは、システムのパフォーマンスを理解するうえで非常に重要です。一方で、時間の経過に沿ってアプリをバージョン管理することも、コードやアプリケーションのパラメーターの変更によって出力がどう変わるかを理解するために重要です。Weave の Model クラスを使うことで、これらの変更を Weave でトラッキングできます。 このチュートリアルでは、次のことを学びます。
  • Weave Model を使用して、アプリケーションとそのパラメーターをトラッキングし、バージョン管理する方法
  • すでにログした Weave Model をエクスポートし、変更して再利用する方法

weave.Model の使用

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

ログした weave.Model のエクスポートと再利用

Weave は呼び出された モデル を保存し、バージョン管理するため、これらのモデルをエクスポートして再利用できます。 モデル ref を取得する Weave UI では、特定のバージョンの モデル ref を取得できます。 モデル を使用する モデル object の URI を取得したら、それをエクスポートして再利用できます。なお、エクスポートされたモデルはすでに初期化されており、すぐに使用できます。
ここで、モデル バージョン (v21) が新しい入力で使用されたことを確認できます。 weave モデルの再利用

次のステップ