ADK 的 Synap 集成¶
Supported in ADKPython
maximem-synap-google-adk 插件将你的 ADK 智能体连接到 Synap,一个用于 AI 智能体的托管长期记忆层。Synap 自动从对话中提取和结构化知识(事实、偏好、情景、情感和时间事件),并仅检索与当前查询语义相关的内容。
使用场景¶
- 持久的跨会话记忆:为你的 ADK 智能体提供跨会话和部署的长期记忆,无需手动记录。
- 多租户隔离:记忆按
user_id和customer_id范围化,确保多用户部署中的严格隔离。 - 语义召回:服务端提取仅显示与当前查询相关的内容,保持提示简短且令牌高效。
前置条件¶
- Synap 账户和 API 密钥
- Gemini API 密钥(或任何其他与 ADK 配置的模型提供者)
安装¶
设置以下环境变量:
与智能体配合使用¶
create_synap_tools(...) 返回两个 FunctionTool 实例,search_memory 和 store_memory,智能体可以调用它们来按需召回和持久化记忆。
import os
from google.adk.agents.llm_agent import Agent
from maximem_synap import MaximemSynapSDK
from synap_google_adk import create_synap_tools
sdk = MaximemSynapSDK(api_key=os.environ["SYNAP_API_KEY"])
synap_tools = create_synap_tools(
sdk=sdk,
user_id="alice",
customer_id="acme_corp",
)
root_agent = Agent(
model="gemini-flash-latest",
name="memory_assistant",
instruction=(
"你是一个具有长期记忆的有用助手。"
"使用 search_memory 回忆你对用户的了解。"
"使用 store_memory 保存用户提到的重要新事实。"
),
tools=synap_tools,
)
运行:
在第一轮教给智能体一些内容(例如 "我对花生过敏"),然后在后面的轮次询问它。Synap 会自动检索相关记忆,即使在不同的 adk run 调用之间也是如此。
可用工具¶
| 工具 | 描述 |
|---|---|
search_memory |
对用户存储的记忆进行语义搜索。接受自然语言查询并返回最相关的事实、偏好和情景。 |
store_memory |
将显式事实持久化到用户的长期记忆中。当用户分享值得记住的内容时,智能体会调用此工具。 |