Vertex AI Express Mode:免费使用 Vertex AI 会话与记忆¶
如果你有兴趣使用 VertexAiSessionService
或 VertexAiMemoryBankService
,但没有 Google Cloud 项目,你可以注册 Vertex AI Express Mode 免费获得访问权限并试用这些服务!你可以使用符合条件的 gmail 账户在此处注册。有关 Vertex AI Express Mode 的更多详细信息,请参见概述页面。
注册后,获取一个 API 密钥,你就可以开始在本地 ADK 智能体中使用 Vertex AI Session 和 Memory 服务了!
Vertex AI Express Mode 限制
Vertex AI Express Mode 在免费层级有一定的限制。免费的 Express Mode 项目只有 90 天有效期,只有特定服务可以使用且配额有限。例如,智能体引擎数量限制为 10 个,部署到智能体引擎仅限付费层级。要移除配额限制并使用 Vertex AI 的所有服务,请为你的 Express Mode 项目添加计费账户。
创建智能体引擎¶
Session
对象是 AgentEngine
的子对象。使用 Vertex AI Express Mode 时,我们可以创建一个空的 AgentEngine
父对象来管理所有的 Session
和 Memory
对象。
首先,确保你的环境变量设置正确。例如,在 Python 中:
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_EXPRESS_MODE_API_KEY_HERE
接下来,我们可以创建智能体引擎实例。你可以使用 Gen AI SDK。
-
导入 Gen AI SDK。
-
设置 Vertex AI 为 True,然后使用
POST
请求创建 Agent Engine -
用你的用例替换
YOUR_AGENT_ENGINE_DISPLAY_NAME
和YOUR_AGENT_ENGINE_DESCRIPTION
。 -
从响应中获取智能体引擎名称和 ID
使用 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=REASONING_ENGINE_APP_ID, user_id= ...)
Info
免费 Express Mode 项目的 VertexAiSessionService
配额如下:
- 100 个 Session 实体
- 10,000 个 Event 实体
使用 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.sessions import VertexAiMemoryBankService
# 与该服务一起使用时,app_name 应该是 Reasoning Engine ID 或名称
APP_ID = "your-reasoning-engine-id"
# 使用 Vertex Express Mode 初始化时不需要项目和位置
memory_service = VertexAiMemoryBankService(agent_engine_id=APP_ID)
# 从该会话生成记忆,以便智能体能够记住有关用户的相关信息
# memory = await memory_service.add_session_to_memory(session)
Info
免费 Express Mode 项目的 VertexAiMemoryBankService
配额如下:
- 200 个 Memory 实体
代码示例:使用 Vertex AI Express Mode 的带会话和记忆的天气智能体¶
在此示例中,我们创建了一个天气智能体,它利用 VertexAiSessionService
和 VertexAiMemoryBankService
进行上下文管理,使我们的智能体能够回忆用户的偏好和对话!