Skip to content

Vertex AI express mode

Supported in ADKPython v0.1.0Java v0.1.0Preview

Google Cloud Vertex AI express mode 提供了一个无需费用的访问层级用于原型设计和开发,允许你在无需创建完整 Google Cloud 项目的情况下使用 Vertex AI 服务。该服务包括对许多强大的 Vertex AI 服务的访问权限,包括:

你可以使用 Gmail 账户注册 express mode 账户,并接收一个用于 ADK 的 API 密钥。通过 Google Cloud 控制台 获取 API 密钥。 欲了解更多信息,请参阅 Vertex AI express mode

Preview release

Vertex AI express mode 功能是预览版发布。欲了解更多信息,请参阅 产品发布阶段说明

Vertex AI express mode 限制

Vertex AI express mode 项目仅在 90 天内有效,且只有部分服务可用并有配额限制。例如,Agent Engine 的数量限制为 10 个,且部署到 Agent Engine 需要付费访问。要移除配额限制并使用所有 Vertex AI 服务,请为你的 express mode 项目添加结算账户。

配置 Agent Engine 容器

在使用 Vertex AI express mode 时,创建一个 AgentEngine 对象以启用 Vertex AI 对智能体组件(如 SessionMemory 对象)的管理。 使用这种方法,Session 对象将作为 AgentEngine 对象的子项进行处理。在运行你的智能体之前,请确保你的环境变量已正确设置,如下所示:

agent/.env
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_EXPRESS_MODE_API_KEY_HERE

接下来,使用 Vertex AI SDK 创建你的 Agent Engine 实例。

  1. 导入 Vertex AI SDK。

    import vertexai
    from vertexai import agent_engines
    
  2. 使用你的 API 密钥初始化 Vertex AI 客户端并创建一个 Agent Engine 实例。

    # 使用 Gen AI SDK 创建 Agent Engine
    client = vertexai.Client(
      api_key="YOUR_API_KEY",
    )
    
    agent_engine = client.agent_engines.create(
      config={
        "display_name": "Demo Agent Engine",
        "description": "Agent Engine for Session and Memory",
      })
    
  3. 从响应中获取 Agent Engine 名称和 ID,以便与 Memories 和 Sessions 一起使用。

    APP_ID = agent_engine.api_resource.name.split('/')[-1]
    

使用 VertexAiSessionService 管理会话

VertexAiSessionService 兼容 Vertex AI express mode API 密钥。你可以无需任何项目或位置来初始化会话对象。

# 需要安装:pip install google-adk[vertexai]
# 加上环境变量设置:
# GOOGLE_GENAI_USE_VERTEXAI=TRUE
# GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_EXPRESS_MODE_API_KEY_HERE
from google.adk.sessions import VertexAiSessionService

# 用于此服务的 app_name 应该是 Reasoning Engine ID 或名称
APP_ID = "your-reasoning-engine-id"

# 使用 Vertex express mode 初始化时不需要项目和位置
session_service = VertexAiSessionService(agent_engine_id=APP_ID)
# 调用服务方法时使用 REASONING_ENGINE_APP_ID,例如:
# session = await session_service.create_session(app_name=APP_ID, user_id= ...)

Session Service 配额

对于免费的 express mode 项目,VertexAiSessionService 拥有以下配额:

  • 每分钟 10 次创建、删除或更新 Vertex AI Agent Engine 会话
  • 每分钟 30 次向 Vertex AI Agent Engine 会话追加事件

使用 VertexAiMemoryBankService 管理记忆

VertexAiMemoryBankService 兼容 Vertex AI express mode API 密钥。你可以无需任何项目或位置来初始化记忆对象。

# 需要安装:pip install google-adk[vertexai]
# 加上环境变量设置:
# GOOGLE_GENAI_USE_VERTEXAI=TRUE
# GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_EXPRESS_MODE_API_KEY_HERE
from google.adk.memory import VertexAiMemoryBankService

# 用于此服务的 app_name 应该是 Reasoning Engine ID 或名称
APP_ID = "your-reasoning-engine-id"

# 使用 express mode 初始化时不需要项目和位置
memory_service = VertexAiMemoryBankService(agent_engine_id=APP_ID)
# 从该会话生成记忆,以便智能体可以记住关于用户的相关详细信息
# memory = await memory_service.add_session_to_memory(session)

Memory Service 配额

对于免费的 express mode 项目,VertexAiMemoryBankService 拥有以下配额:

  • 每分钟 10 次创建、删除或更新 Vertex AI Agent Engine 记忆资源
  • 每分钟 10 次获取、列出或从 Vertex AI Agent Engine Memory Bank 检索

代码示例:带有会话和记忆的天气智能体

此代码示例展示了一个同时利用 VertexAiSessionServiceVertexAiMemoryBankService 进行上下文管理的天气智能体,允许你的智能体回忆用户偏好和对话。