Agent Development Kit を使用して Vertex AI Agent Engine でエージェントを開発してデプロイする
このページでは、エージェント開発キット(ADK)を使用して、エージェントを作成して Vertex AI Agent Engine Runtime にデプロイする方法について説明します。このクイックスタートでは、次の手順について説明します。
Google Cloud プロジェクトを設定する。
Vertex AI SDK for Python と ADK をインストールします。
通貨換算エージェントを開発します。
エージェントを Vertex AI Agent Engine ランタイムにデプロイします。
デプロイしたエージェントをテストします。
ADK の代替クイックスタートとして、次のものも使用できます。
ADK クイックスタート: ADK クイックスタートはマシン上で完全に実行され、ローカル IDE とターミナル アクセス権を使用していることを前提としています。
Agent Starter Pack: Vertex AI Agent Engine 用に構築された本番環境対応の生成 AI エージェント テンプレートのコレクション。
Agent Development Kit 以外のサポートされているフレームワークを使用したクイックスタートについては、Vertex AI Agent Engine でエージェントを開発してデプロイするをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Vertex AI ユーザー(
roles/aiplatform.user) - ストレージ管理者(
roles/storage.admin) 次のコマンドを実行して、Vertex AI SDK for Python とその他の必要なパッケージをインストールします。
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,adk]>=1.112ユーザーとして認証します。
ローカルシェル
次のコマンドを実行します。
gcloud auth application-default loginColab
次のコードを実行します。
from google.colab import auth auth.authenticate_user(project_id="PROJECT_ID")Cloud Shell
対応は不要です。
エクスプレス モード
エクスプレス モードで Vertex AI を使用している場合は、対応は必要ありません。
次のコードを実行して、Vertex AI Agent Engine をインポートし、SDK を初期化します。
Google Cloud プロジェクト
import vertexai client = vertexai.Client( project="PROJECT_ID", # Your project ID. location="LOCATION", # Your cloud region. )ここで
LOCATIONは、サポートされているリージョンの一つです。
エクスプレス モード
エクスプレス モードで Vertex AI を使用している場合は、次のコードを実行します。
import vertexai from vertexai import agent_engines vertexai.init( key="API_KEY" )ここで、API_KEY はエージェントの認証に使用する API キーです。
エージェントの通貨換算ツールを開発します。
def get_exchange_rate( currency_from: str = "USD", currency_to: str = "EUR", currency_date: str = "latest", ): """Retrieves the exchange rate between two currencies on a specified date.""" import requests response = requests.get( f"https://api.frankfurter.app/{currency_date}", params={"from": currency_from, "to": currency_to}, ) return response.json()エージェントをインスタンス化します。
from google.adk.agents import Agent from vertexai import agent_engines agent = Agent( model="gemini-2.0-flash", name='currency_exchange_agent', tools=[get_exchange_rate], ) app = agent_engines.AdkApp(agent=agent)ローカルでエージェントをテストします。
async for event in app.async_stream_query( user_id="USER_ID", message="What is the exchange rate from US dollars to SEK today?", ): print(event)ここで、USER_ID はユーザー定義の ID で、文字数制限は 128 です。
Vertex AI Agent Engine の使用に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Vertex AI SDK for Python をインストールして初期化する
エージェントを開発する
エージェントをデプロイする
Vertex AI で reasoningEngine リソースを作成して、エージェントをデプロイします。
remote_agent = client.agent_engines.create(
agent=app,
config={
"requirements": ["google-cloud-aiplatform[agent_engines,adk]"],
"staging_bucket": "STAGING_BUCKET",
}
)
ここで、STAGING_BUCKET は gs:// で始まる Cloud Storage バケットです。
エージェントを使用する
クエリを送信して、デプロイしたエージェントをテストします。
async for event in remote_agent.async_stream_query(
user_id="USER_ID",
message="What is the exchange rate from US dollars to SEK today?",
):
print(event)
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順で操作します。
remote_agent.delete(force=True)