使用智能体开发套件在 Vertex AI Agent Engine 上开发和部署智能体
本页面演示了如何使用智能体开发套件 (ADK) 创建代理并将其部署到 Vertex AI Agent Engine 运行时。本快速入门将引导您完成以下步骤:
设置 Google Cloud 项目。
安装 Vertex AI SDK for Python 和 ADK。
开发货币兑换代理。
将代理部署到 Vertex AI Agent Engine 运行时。
测试已部署的代理。
您还可以使用以下 ADK 替代快速入门指南:
ADK 快速入门:ADK 快速入门完全在您的机器上运行,并假定您使用的是本地 IDE 和终端访问权限。
Agent Starter Pack:一组可用于生产环境的生成式 AI 智能体模板,专为 Vertex AI Agent Engine 而打造。
如需查看使用除智能体开发套件以外的受支持框架的快速入门,请参阅在 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 User (
roles/aiplatform.user) -
Storage Admin (
roles/storage.admin) 运行以下命令以安装 Vertex AI SDK for Python 和其他所需的软件包:
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,adk]>=1.112以用户身份进行身份验证
本地 Shell
运行以下命令:
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:
为智能体开发货币兑换工具:
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 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
安装并初始化 Python 版 Vertex AI SDK
开发代理
部署代理
通过在 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)