メインコンテンツへスキップ
Open In Colab
セットアップなしで Weave 上で Groq モデルを試してみたい場合は、LLM Playground をお試しください。
Groq は、高速な AI 推論を提供する AI インフラストラクチャ企業です。Groq の LPU Inference Engine は、計算速度、品質、エネルギー効率を重視して設計されたハードウェアおよびソフトウェア プラットフォームです。Weave は、Groq の chat completion を使った Call を自動的にトラッキングし、ログに記録します。 このページでは、Weave を使用して Groq の chat completion の Call をトレースする方法、自分の関数を Weave op としてラップする方法、Model オブジェクトを使って Experiments を整理する方法について説明します。

トレース

言語モデル アプリケーションのトレースは、開発中と本番環境の両方で、一元的な場所に保存しておくことが重要です。これらのトレースはアプリケーションのデバッグに役立つだけでなく、改善のためのデータセットとしても利用できます。 Weave は Groq のトレースを自動的に取得します。トラッキングを開始するには、weave.init(project_name="<your-wandb-project-name>") を呼び出し、あとは通常どおりライブラリを使用してください。<> で囲まれた値は、ご自身の値に置き換えてください。

独自の op をトラッキングする

関数を @weave.op でラップして入力・出力・アプリケーション ロジックを取得すると、アプリ内でデータがどのように流れているかをデバッグできるようになります。op を深くネストして、トラッキングしたい関数のツリーを構築できます。これにより、実験中のコードが自動的にバージョン管理され、まだ git にコミットしていないアドホックな変更内容も含めて記録されます。 @weave.op でデコレートされた関数を作成します。 以下の例では、recommend_places_to_visit 関数を @weave.op でラップし、特定の都市で訪れるべき場所をおすすめします。

実験を行いやすくするために Model を作成する

多くの要素が絡み合っていると、実験を整理するのは困難です。Model クラスを使うと、システムプロンプトや使用しているモデルなど、アプリの実験に関する詳細を取得して整理できます。これにより、アプリのさまざまなバージョンや反復を整理し、比較しやすくなります。 コードのバージョニングや入出力の記録に加えて、Model はアプリケーションの動作を制御する構造化されたパラメーターも取得するため、どのパラメーターが最も効果的だったかを見つけやすくなります。Weave Models を serveEvaluation と組み合わせて使用することもできます。 以下の例では、GroqCityVisitRecommender を使って実験できます。そのいずれかの値を変更するたびに、新しい GroqCityVisitRecommenderバージョン が作成されます。

Weave モデルをサーブする

バージョン管理された Model を用意したら、テスト用または下流のアプリケーション向けのサービスとしてデプロイできます。任意の weave.Model オブジェクトへの weave リファレンスがあれば、FastAPI サーバーを起動して、そのモデルを serve できます。 ターミナルで次のコマンドを実行してモデルをサーブします。