google-genai) および Node.js 向け (@google/genai) の Google Gen AI SDK で実行する Call を自動的にトレースします。トレースを初期化すると、会話内で実行する各 Call が LLM スパンとして Agent Lens に記録されます。記録される情報は、メッセージ、システム指示、ツール、メディア、リクエスト設定、応答メタデータ、およびトークン使用量 (キャッシュされた入力トークンと思考トークンを含む) です。Google Gen AI SDK の呼び出し方法を変更する必要はありません。
このインテグレーションでは、コンテンツ生成 (ストリーミングを含む) 、チャットヘルパー、および Imagen による画像生成がトレースされます。Vertex AI クライアント経由の Call は vertex_ai に、Gemini Developer API の Call は gemini に分類されます。
Google の Agent Development Kit (ADK) で構築したエージェントをトレースする方法については、Google ADK を参照してください。
前提条件
- CoreWeave Forge アカウントと、環境変数
WANDB_API_KEYに設定済みの APIキー。 - 環境変数
GEMINI_API_KEYに設定済みの Gemini APIキー。 - Python の場合: Python 3.10 以降、および
google-genai1.0.0~1.23.0。 - TypeScript の場合: Node.js 18.19 以降 (または 20.6 以降) 、および
@google/genai0.2.0 以降。
パッケージのインストール
Google Gen AI の会話をトレースする
Forge のチーム名と project 名を指定してtracing.init() を呼び出します。Python では、tracing.init() によって Google Gen AI SDK にパッチが適用されます。これは、SDK をこの呼び出しの前後どちらでインポートしても同じです。TypeScript では、TypeScript タブに示すインストルメンテーションフラグを付けて Node を起動します。
Agent Lens に表示されるのは、会話内で実行された Call のみです。会話の外で行われた Call には会話 ID がないため、Agent Lens には表示されません。エージェントセッションごとに会話を 1 つ作成し、ユーザーメッセージごとにターンを開始してください。すべてのターンは会話の ID を共有するため、Agent Lens はそれらのターンを 1 つの会話にまとめます。また、各 Call は、それが実行されたターンの LLM スパンになります。
- Python
- TypeScript
conversation_id (Python) または conversationId (TypeScript) を渡します。
会話、ターン、その他のスパンタイプの詳細については、エージェントをトレースするを参照してください。
自動パッチ適用を無効にする
Python では、tracing.init() に autopatch_integrations=False を渡します。こうすることで、tracing.integrations.patch_google_genai() と tracing.integrations.unpatch_google_genai() を使用して、Google Gen AI SDK へのパッチの適用と解除を手動で行えるようになります。
TypeScript では、--import=@coreweave/forge-sdk/instrument フラグを付けずに実行し、トレースしたいクライアントだけを integrations.wrapGoogleGenAI() でラップします。