使用智能体开发套件在 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 上开发和部署智能体

准备工作

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. 如需获得使用 Vertex AI Agent Engine 所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

    如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

    安装并初始化 Python 版 Vertex AI SDK

    1. 运行以下命令以安装 Vertex AI SDK for Python 和其他所需的软件包:

      pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,adk]>=1.112
    2. 以用户身份进行身份验证

      本地 Shell

      运行以下命令:

      gcloud auth application-default login

      Colab

      运行以下代码:

      from google.colab import auth
      
      auth.authenticate_user(project_id="PROJECT_ID")
      

      Cloud Shell

      您无需执行任何操作。

      快速模式

      如果您使用的是快速模式下的 Vertex AI,则无需执行任何操作。

    3. 运行以下代码以导入 Vertex AI Agent Engine 并初始化 SDK:

      Google Cloud 项目

      import vertexai
      
      client = vertexai.Client(
          project="PROJECT_ID",               # Your project ID.
          location="LOCATION",                # Your cloud region.
      )
      

      其中:

      快速模式

      如果您使用快速模式下的 Vertex AI,请运行以下代码:

      import vertexai
      from vertexai import agent_engines
      
      vertexai.init(
          key="API_KEY"
      )
      

      其中 API_KEY 是您用于对代理进行身份验证的 API 密钥。

    开发代理

    1. 为智能体开发货币兑换工具:

      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()
      
    2. 实例化代理:

      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)
      
    3. 在本地测试代理:

      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 中创建 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)
    

    后续步骤