概述
本章节主要介绍记忆库管理相关功能。 记忆库为Agent提供持久化记忆能力,支持跨会话保存和检索用户交互历史、偏好信息等上下文数据。通过向量检索技术,Agent能够基于历史记忆提供个性化响应,实现真正的会话连续性。目前已支持通过MCP工具集成Agent调用和代码集成调用两种方式。
快速开始
创建记忆库后,即可通过控制台、SDK或者MCP工具完成记忆的创建、搜索和管理。
创建记忆库
操作步骤
左侧菜单选择记忆库。
右上方选择点击添加记忆存储按钮。
打开添加记忆存储表单。
当前记忆库支持的向量数据库只支持
CAE部署Elasticsearch, 因此需要按照提示跳转至CAE应用中心部署Elasticsearch, 进行记忆库相关功能体验。后续会逐渐上线生产级向量数据库支持。
注意:CAE部署Elasticsearch需要消耗一定的资源,因此请在使用完毕后及时删除,以免造成不必要的费用。
在CAE应用中心完成Elasticsearch部署创建后,开始进行基础信息创建。
记忆库基础信息填写:
名称:支持中文和英文,长度限制为1-128个字符。
描述(可选):输入记忆库的描述信息
表名: 在Elasticsearch中创建的表名,支持中文和英文,长度限制为1-128个字符。
向量维度:注意选择的向量维度需要选择的向量模型相匹配
选择大语言模型和向量模型,此处需要在模型管理处添加对应的模型
点击开始部署,等待约5s左右,状态变成运行中,表示创建成功。
记忆管理
创建记忆
进入到记忆库详情, 先点击左侧菜单长期记忆,随后点击右上方的添加记忆按钮,保存即可创建记忆。
注意:创建记忆需要有EndPoint,且在控制台完成记忆写入需要有https域名,如果通过SDK写入则无https限制。
添加成功后即可在记忆列表中看到创建的记忆。
搜索记忆
在记忆库详情页,先点击左侧菜单长期记忆,在左侧搜索框搜索对应的记忆内容,即可发起记忆搜索请求获取相关记忆。
填写搜索条件:
搜索查询(必填):在搜索查询输入框中输入搜索关键词,如说过
用户ID、Agent ID或Run ID(至少填写一个):用于筛选特定用户或会话的记忆。例如,填写用户ID
test_user1231可搜索该用户匹配关键词的记忆。
输入必要参数后,即可展示搜索结果。结果列表显示匹配的记忆内容、用户ID、相似度、ID、创建时间等信息。搜索结果按相似度从高到低排序,相似度越高表示与查询越相关。
删除记忆
在记忆列表页面,找到目标记忆,点击删除按钮,确认删除操作。
修改记忆
在记忆列表页面,找到目标记忆,点击编辑按钮,修改记忆内容后保存。
可观测性
在记忆库详情页左侧菜单选择可观测性,可查看当前记忆库的使用情况,当前主要是HTTP相关指标,后续会完善记忆操作相关指标。
生态集成
MCP工具集成
记忆库支持通过MCP工具集成到快速创建Agent中使用。当前主要和函数应用中心打通,通过函数应用中心部署MCP函数,然后结合AgentEngine工具管理,通过远程调用MCP导入工具在AgentEngine中使用。后续会逐步优化记忆库MCP的体验。
登录函数计算控制台后,点击左侧菜单进入到应用。
选择
AgentEngine Memory MCP部署AgentEngine Meory MCP函数,所需必要信息:自定义域名:完成MCP函数应用所需域名
记忆库Endpoint
部署完成后即可进入到应用详情,获取MCP函数的访问地址。
进入到AgentEngine控制台,左侧菜单选择工具,点击添加工具按钮,选择MCP工具类型,选择远程访问,输入MCP调用信息,点击保存按钮,即可完成MCP工具的添加。如下是MCP远程调用信息示例:
{
"mcpServers": {
"agentengine-memory-mcp": {
"transportType": "sse",
"url": ${MCP应用HTTP访问地址}/sse"
}
}
} 5. 在AgentEngine控制台左侧菜单选择智能体,点击创建智能体按钮,选择流程编排类型,创建后进入到低代码Agent编辑页面, 选择工具节点-MCP工具中刚才在添加的MCP工具。
加入到流程后,可对MCP节点进行配置,选择对应MCP调用的工具以及调用的必要参数
点击右上方调试运行, 输入必要参数,即可完成MCP工具的调用并查看调用结果。
在记忆库管理也可查看MCP工具的调用结果,例如在步骤6如果是创建记忆,在记忆库详情对应的记忆库可查看到刚才的写入的记忆。
代码集成
通过AgentEngine memoryCollection SDK可直接集成记忆库功能。包括记忆库的管理以及记忆管理等功能。 SDK使用示例如下:
from agentengine_memory_collection import (
Config,
MemoryCollectionAPI,
Mem0Client,
get_logger,
set_log_level
)
import logging
# 设置日志级别
set_log_level(logging.DEBUG)
logger = get_logger()
# 从环境变量加载配置 / Load config from environment variables
config = Config.from_env()
# 获取记忆集合的 endpoint / Get memory collection endpoint
mc = MemoryCollectionAPI.get_by_id(
memory_collection_id="memory_collection_id",
config=config,
)
logger.info("记忆集合名称: {mc.memory_collection_name}")
logger.info(f"Mem0 API Endpoint: {mc.mem0_endpoint}")
# 创建 Mem0Client 实例 / Create Mem0Client instance
mem0_client = Mem0Client(mem0_endpoint=mc.mem0_endpoint)
# 使用 Mem0Client 进行记忆操作 / Use Mem0Client for memory operations
# 添加记忆 / Add memory
result = mem0_client.add(
messages="用户喜欢吃苹果",
user_id="user123",
metadata={"source": "example"}
)
logger.info(f"添加记忆结果: {result}")
# 搜索记忆 / Search memories
results = mem0_client.search(
query="用户喜欢什么水果",
user_id="user123",
limit=5
)
logger.info(f"搜索到 {len(results.get('results', []))} 个记忆:")
for result in results.get('results', []):
logger.info(f" - {result}")
# 获取所有记忆 / Get all memories
memories = mem0_client.get_all(user_id="user123")
logger.info(f"用户共有 {len(memories.get('results', []))} 个记忆")
for i, result in enumerate(memories.get('results', []), 1):
logger.info(f" {i}. {result.get('memory', 'N/A')}")提示:若需要SDK调用,可联系客服获取SDK地址。