Model クラスを使用して Experiments を整理する方法を説明します。
Weave は Mistral v1.0 SDK をサポートしています。アップグレードの詳細については、移行ガイドを参照してください。
トレース
開発時だけでなく本番環境でも、LLM アプリケーションのトレースを一元的なデータベースに保存しておくことが重要です。これらのトレースは、デバッグに使うだけでなく、アプリケーションの改善に役立つデータセットとしても活用できます。 Weave は mistralai のトレースを自動的に取得します。ライブラリを通常どおり使用するには、まずweave.init() を呼び出します。
独自の ops で Call をラップする
基本的なトレースが機能したら、MistralAI の Call を Weave Ops でラップして、experiment 間で再現可能にできます。Weave ops を使うと、実験を進めながらコードを自動でバージョン管理し、入力と出力も記録することで、結果を再現可能にできます。@weave.op() でデコレートした関数を作成し、その中で mistralai.client.MistralClient.chat() を呼び出すと、Weave が入力と出力をトラッキングしてくれます。以下の例では、これをチーズ推薦ツールでどのように行うかを示します。
実験を進めやすくするための Model を作成する
実験には多くの要素が関わるため、整理するのは簡単ではありません。Model クラスを使用すると、system prompt や使用しているモデルなど、アプリの実験に関する詳細を取得して整理できます。これにより、アプリのさまざまな反復を整理し、比較しやすくなります。
Models は、コードのバージョン管理や入力と出力の取得に加えて、アプリケーションの動作を制御する構造化されたパラメーターも取得できるため、どのパラメーターが最も効果的だったかを簡単に検索できます。Weave Models は serve や Evaluations と組み合わせて使用することもできます。
次の例では、model と country を試せます。これらのいずれかを変更するたびに、CheeseRecommender の新しい version が作成されます。
