Model は、データ (設定、学習済みのモデルの重み、その他の情報を含む場合があります) と、モデルの動作を定義するコードを組み合わせたものです。この API に沿った形でコードを構成すると、アプリケーションのバージョンを構造的に管理できるようになり、実験をより体系的に追跡できます。
このガイドでは、Weave Model の定義方法、モデルを呼び出して入力と出力をキャプチャする方法、コードやパラメータの変更時に自動バージョン管理を活用する方法、ローカル API としてモデルを提供する方法、そして本番の呼び出しにタグを付けてフィルタリングする方法を説明します。Weave で LLM を活用したアプリケーションを構築していて、アプリの改良の過程を再現可能な方法で追跡・比較したい開発者を対象としています。
- Python
- TypeScript
Weave でモデルを作成するには、次のものが必要です。モデルは通常どおり次のように呼び出せます。これで、これを実行すると、UI にこのモデルの 2 つのバージョンが表示され、それぞれで異なる呼び出しが追跡されていることを確認できます。詳しい手順については、serve を参照してください。
weave.Modelを継承するクラス- すべてのパラメータに対する型定義
@weave.op()デコレーターを付けた、型付きのpredict関数
predict() を呼び出すたびに、モデルの設定とともに入力と出力が追跡されます。すべての予測を記録する、バージョン管理された Weave Model ができました。以降のセクションでは、このモデルを基に説明を進めます。モデルの自動バージョン管理
モデルを定義するパラメータやコードを変更すると、Weave はその変更を記録し、バージョンを更新します。 これにより、モデルのバージョン間で予測を比較できます。プロンプトを改善したり、別の LLM を試して設定ごとの予測を比較したりする際に活用してください。たとえば、次のように新しいモデルを作成します。モデルの提供
モデルを提供すると、そのpredict 関数が HTTP 経由で公開されます。他のアプリケーションからモデルをテストしたり、基盤となるコードを配布せずにチームメイトと共有したりする場合に便利です。Weave モデル用の FastAPI サーバーを起動するには、[MODEL-REF] をモデルへの参照に置き換えて、次のコマンドを実行します。