Vertex AI Expressモード:Vertex AIセッションとメモリの使用¶
VertexAiSessionService または VertexAiMemoryBankService の利用に興味があるものの、Google Cloudプロジェクトをお持ちでない場合は、Vertex AI Expressモードに登録することで、無料でこれらのサービスにアクセスして試すことができます。対象となるgmailアカウントでこちらから登録できます。Vertex AI Expressモードの詳細については、概要ページをご覧ください。
登録後、APIキーを取得すれば、ローカルのADKエージェントでVertex AIセッションおよびメモリサービスを使い始めることができます!
Info
Vertex AI Expressモードは、無料利用枠にいくつかの制限があります。無料のExpressモードプロジェクトは90日間のみ有効で、限られた割り当てで一部のサービスのみが利用可能です。例えば、エージェントエンジン(Agent Engine)の数は10個に制限されており、エージェントエンジンへのデプロイは有料利用枠専用です。割り当て制限を解除し、Vertex AIのすべてのサービスを利用するには、Expressモードプロジェクトに請求先アカウントを追加してください。
エージェントエンジンの作成¶
Session オブジェクトは AgentEngine の子要素です。Vertex AI Expressモードを使用する場合、すべての Session および Memory オブジェクトを管理するための親として、空の AgentEngine を作成できます。
まず、環境変数が正しく設定されていることを確認してください。例えば、Pythonの場合は以下のようになります。
次に、エージェントエンジンのインスタンスを作成します。Vertex AI SDKを使用できます。
-
Vertex AI SDKをインポートします。
-
APIキーでVertex AIクライアントを初期化し、エージェントエンジンのインスタンスを作成します。
-
YOUR_AGENT_ENGINE_DISPLAY_NAMEとYOUR_AGENT_ENGINE_DESCRIPTIONをご自身のユースケースに合わせて置き換えてください。 -
レスポンスからエージェントエンジンの名前とIDを取得し、メモリとセッションで使用します。
VertexAiSessionServiceによるセッション管理¶
VertexAiSessionService は Vertex AI ExpressモードのAPIキーと互換性があります。プロジェクトやロケーションを指定せずにセッションオブジェクトを初期化できます。
# 必要なライブラリ: pip install google-adk[vertexai]
# 加えて環境変数の設定:
# GOOGLE_GENAI_USE_VERTEXAI=TRUE
# GOOGLE_API_KEY=ここに実際のEXPRESSモードのAPIキーを貼り付けてください
from google.adk.sessions import VertexAiSessionService
# このサービスで使用されるapp_nameは、Reasoning EngineのIDまたは名前である必要があります
APP_ID = "your-reasoning-engine-id"
# Vertex Expressモードで初期化する場合、プロジェクトとロケーションは不要です
session_service = VertexAiSessionService(agent_engine_id=APP_ID)
# サービスメソッドを呼び出す際はREASONING_ENGINE_APP_IDを使用します。例:
# session = await session_service.create_session(app_name=APP_ID, user_id= ...)
Info
無料のExpressモードプロジェクトの場合、VertexAiSessionService には以下の割り当てがあります:
- Vertex AI エージェントエンジンセッションの作成、削除、更新:毎分10回
- Vertex AI エージェントエンジンセッションへのイベント追加:毎分30回
VertexAiMemoryBankServiceによるメモリ管理¶
VertexAiMemoryBankService は Vertex AI ExpressモードのAPIキーと互換性があります。プロジェクトやロケーションを指定せずにメモリオブジェクトを初期化できます。
# 必要なライブラリ: pip install google-adk[vertexai]
# 加えて環境変数の設定:
# GOOGLE_GENAI_USE_VERTEXAI=TRUE
# GOOGLE_API_KEY=ここに実際のEXPRESSモードのAPIキーを貼り付けてください
from google.adk.memory import VertexAiMemoryBankService
# このサービスで使用されるapp_nameは、Reasoning EngineのIDまたは名前である必要があります
APP_ID = "your-reasoning-engine-id"
# Vertex Expressモードで初期化する場合、プロジェクトとロケーションは不要です
memory_service = VertexAiMemoryBankService(agent_engine_id=APP_ID)
# エージェントがユーザーに関する詳細を記憶できるよう、そのセッションからメモリを生成します
# memory = await memory_service.add_session_to_memory(session)
Info
無料のExpressモードプロジェクトの場合、VertexAiMemoryBankService には以下の割り当てがあります:
- Vertex AI エージェントエンジンメモリリソースの作成、削除、更新:毎分10回
- Vertex AI エージェントエンジンメモリバンクからの取得、一覧表示、検索:毎分10回
コードサンプル:Vertex AI Expressモードを使用したセッションとメモリ機能を持つ天気エージェント¶
このサンプルでは、VertexAiSessionService と VertexAiMemoryBankService の両方を利用してコンテキスト管理を行う天気エージェントを作成します。これにより、エージェントはユーザーの好みや会話を思い出すことができます!