云原生数据库PolarDB分布式版 Mem0 是基于 PolarDB-X 构建的 AI Agent 长期记忆托管服务,100% 兼容开源 Mem0 框架及 Mem0 云服务 SDK。通过在多次交互中高效地抽取、存储与调用记忆,帮助您打造真正智能和个性化的 AI 应用。
功能优势
双通道记忆,一站式管理:在同一个 PolarDB-X 实例中,同时提供 Mem0 语义记忆 API 和 MySQL 直连的结构化记忆存储能力。无需额外购买独立数据库,即可同时管理语义记忆(用户偏好、习惯等)和结构化记忆(用户画像、会话日志、工具调用记录等)。
全面兼容,无缝迁移:同时兼容开源 Mem0 框架和 Mem0 云服务 SDK(MemoryClient)的数据库托管方案。已有 Agent 应用无论使用社区版本还是云端 SDK,均可零改动直接接入。
分布式高性能:底层基于 PolarDB-X 原生向量能力,结合多进程 + 异步事件循环 + 线程池桥接 + 实例池的四层并发架构,在同等硬件下实现 10~50 倍于开源 Server 的吞吐量提升。
全托管服务,成本更优:提供可视化的 Web 管理界面,无需投入硬件成本,无需关心系统的部署、运维和故障处理。通过记忆精炼技术,可显著降低大模型的 Token 消耗,进一步节约资源成本。
弹性水平扩展:基于 PolarDB-X 分布式架构,支持海量记忆数据的存储与检索。通过水平分片自动扩容,从容应对百万至千万级记忆规模。
应用场景
智能客服系统:感知跨会话上下文,避免重复询问,提供连贯的问题解决方案,提升服务效率与满意度。
个性化教育:构建学员能力画像,动态调整教学内容,提供个性化学习路径,实现因材施教。
医疗健康管理:持续记录患者病史、治疗方案与生理指标,建立完整健康档案,提供连续性个体化医疗服务。
情感陪伴与心理健康:深度理解用户情绪、性格和生活事件,识别压力源并提供共情式持续支持。
智能推荐系统:基于用户的长期兴趣和即时反馈,提供更精准、动态的推荐内容。
多 Agent 协同:为多个 Agent 提供共享或隔离的记忆空间(通过
agent_id区分),支持团队协作场景下的知识积累与传递。
适用范围
企业版:需为2.6.0_5.4.21-20260610_xcluster8.4.21-20260605及以上版本。
标准版:需为2.5.0_standard_xcluster8.4.21-20260605及以上版本。
快速体验
步骤一:创建 Mem0 实例
登录 PolarDB-X 控制台。
在左侧导航栏,单击。
单击免费开通记忆引擎。
在弹出的确认对话框中,单击确定。
系统需要3~5分钟创建应用,请耐心等待。创建完成后,页面将显示 Mem0 实例的详细信息。
步骤二:获取连接地址与访问凭证
获取 Mem0 连接地址
在 Mem0 实例详情页,单击基本信息页签,在连接地址区域查看 VPC 地址(私网地址)和公网地址。
说明公网地址需单独申请。在基本信息页签的连接地址区域,单击申请外网地址进行申请。
建议优先使用 VPC 地址(私网地址)以获得更低延迟和更高安全性。
获取 API Key
单击配置与管理页签,在参数列表中查看API Key。参数值默认隐藏,单击眼睛图标可查看完整内容,单击复制可复制参数值。
步骤三:配置白名单
在 Mem0 实例详情页,单击白名单页签。
单击新增IP白名单分组,或单击已有分组的配置按钮。
在弹出的对话框中,输入分组名称和允许访问的 IP 地址,单击确定。
如果您的 ECS 实例与 Mem0 实例位于同一 VPC 内,填写 ECS 的私网 IP 地址或其所在 VPC 网段。
如果您的 ECS 实例与 Mem0 实例不在同一 VPC 内,填写 ECS 的公网 IP 地址。
如果您本地的服务器或电脑需要访问 Mem0 实例,请将其公网 IP 地址添加到白名单中。
步骤四:操作示例
添加记忆
向 Mem0 添加一段对话,服务会自动从对话内容中提取语义记忆。
curl -X POST http://<your-endpoint>:3306/v1/memories/ \
-H "Content-Type: application/json" \
-H "Authorization: Token <your-api-key>" \
-d '{
"messages": [
{
"role": "user",
"content": "我叫张三,在杭州工作,最爱吃川菜里的水煮鱼。"
},
{
"role": "assistant",
"content": "好的,已经记下您的信息和口味偏好。"
}
],
"user_id": "user_001",
"run_id": "session_001",
"metadata": {
"source": "chat"
}
}'返回示例:
{
"results": [
{
"id": "70db3ad0-xxxx-xxxx-xxxx-66b3d24656ed",
"memory": "名字是张三",
"event": "ADD"
},
{
"id": "769e6f22-xxxx-xxxx-xxxx-bfad6ade692c",
"memory": "在杭州工作",
"event": "ADD"
},
{
"id": "30966d63-xxxx-xxxx-xxxx-d68d1048bc31",
"memory": "最爱吃川菜里的水煮鱼",
"event": "ADD"
}
]
}当前实例存在已知限制:当 messages 内容为中文且同时携带 agent_id 字段时,LLM 抽取会返回空 {"results":[]}(HTTP 200 但无记忆写入)。建议在中文场景下不传 agent_id;如需多智能体隔离,可在写入后通过 metadata 字段或独立 user_id 实现。英文 messages 不受此限制影响。
搜索记忆
根据查询语句进行语义搜索,返回最相关的记忆。
curl -X POST http://<your-endpoint>:3306/v2/memories/search/ \
-H "Content-Type: application/json" \
-H "Authorization: Token <your-api-key>" \
-d '{
"query": "我喜欢吃什么",
"user_id": "user_001",
"top_k": 5
}'返回示例:
{
"results": [
{
"id": "30966d63-xxxx-xxxx-xxxx-d68d1048bc31",
"memory": "最爱吃川菜里的水煮鱼",
"hash": "ec3a1bec939942045e2c90ac2acd93e7",
"metadata": {"source": "chat"},
"score": 0.5295314589229717,
"created_at": "2026-06-24T16:00:00.000000+08:00",
"updated_at": null,
"user_id": "user_001"
},
{
"id": "769e6f22-xxxx-xxxx-xxxx-bfad6ade692c",
"memory": "在杭州工作",
"hash": "1b3f2e1f5d70920d8a1cac47cf365a31",
"metadata": {"source": "chat"},
"score": 0.2815325178698094,
"created_at": "2026-06-24T16:00:00.000000+08:00",
"updated_at": null,
"user_id": "user_001"
}
]
}获取全部记忆
获取指定用户或智能体下的所有记忆条目。
curl -X POST http://<your-endpoint>:3306/v2/memories/ \
-H "Content-Type: application/json" \
-H "Authorization: Token <your-api-key>" \
-d '{
"user_id": "user_001"
}'返回示例:
{
"results": [
{
"id": "70db3ad0-xxxx-xxxx-xxxx-66b3d24656ed",
"memory": "名字是张三",
"hash": "7d0a10343e179826a9cbb01e5d4f6e71",
"metadata": {"source": "chat"},
"created_at": "2026-06-24T16:00:00.000000+08:00",
"updated_at": null,
"user_id": "user_001"
},
{
"id": "769e6f22-xxxx-xxxx-xxxx-bfad6ade692c",
"memory": "在杭州工作",
"hash": "1b3f2e1f5d70920d8a1cac47cf365a31",
"metadata": {"source": "chat"},
"created_at": "2026-06-24T16:00:00.000000+08:00",
"updated_at": null,
"user_id": "user_001"
},
{
"id": "30966d63-xxxx-xxxx-xxxx-d68d1048bc31",
"memory": "最爱吃川菜里的水煮鱼",
"hash": "ec3a1bec939942045e2c90ac2acd93e7",
"metadata": {"source": "chat"},
"created_at": "2026-06-24T16:00:00.000000+08:00",
"updated_at": null,
"user_id": "user_001"
}
]
}释放 Mem0 实例
登录 PolarDB-X 控制台。
在左侧导航栏,单击。
单击关闭记忆引擎。
在弹出的确认对话框中,单击确定。
关闭记忆引擎后,相关功能将无法使用,已存储的记忆数据将被清除。请谨慎操作。
API 参考
PolarDB-X Mem0 基于开源框架 mem0 提供托管服务,同时兼容 Mem0 云服务 SDK 和开源服务端两套 API 路径。您可以通过访问 http://<your-endpoint>:3306/docs 查看实时更新的 API 文档。
请求头
所有 API 请求都需要在 HTTP Header 中包含认证信息:
Authorization: Token <your-api-key>
Content-Type: application/jsonAPI 端点总览
功能 | 云服务兼容路径 | 开源兼容路径 | 方法 | 说明 |
健康检查 |
|
| GET | SDK初始化验证 |
添加记忆 |
|
| POST | 从对话中提取记忆 |
获取全部记忆 |
|
| POST/GET | 按条件获取记忆列表 |
搜索记忆 |
|
| POST | 语义相似度搜索 |
获取单条记忆 |
|
| GET | 按 ID 获取记忆详情 |
更新记忆 |
|
| PUT | 修改记忆内容 |
删除单条记忆 |
|
| DELETE | 按 ID 删除记忆 |
删除全部记忆 |
|
| DELETE | 按条件批量删除 |
记忆历史 |
|
| GET | 获取记忆变更历史 |
批量更新 |
| — | PUT | 批量更新多条记忆 |
批量删除 |
| — | DELETE | 批量删除多条记忆 |
获取实体 |
|
| GET | 获取所有实体 |
删除实体 |
| — | DELETE | 删除实体下所有记忆 |
重置 |
|
| POST | 重置全部记忆 |
创建导出 |
| — | POST | 创建记忆导出任务 |
获取导出 |
| — | POST | 获取导出结果 |
摘要 |
| — | POST | 获取记忆摘要 |
反馈 |
| — | POST | 提交记忆反馈 |
创建记忆
存储新的记忆。服务会自动对 messages 内容进行分析,生成语义记忆。
请求地址:
POST /v1/memories/请求参数:
参数
类型
必选
说明
messages
Array
是
对话消息列表,每条消息包含
role(user/assistant/system)和content字段。user_id
String
是
用户的唯一标识符。
agent_id
String
否
智能体的唯一标识符,用于在同一用户下隔离不同应用的记忆。
run_id
String
否
单次执行或会话的唯一标识符。
metadata
Object
否
附加的元数据,会与记忆一同存储。
filters
Object
否
过滤条件。
prompt
String
否
自定义提取策略 Prompt,覆盖系统默认模板。
请求示例:
curl -X POST http://<your-endpoint>:3306/v1/memories/ \ -H "Content-Type: application/json" \ -H "Authorization: Token <your-api-key>" \ -d '{ "messages": [ {"role": "user", "content": "我叫张三,在杭州工作,最爱吃川菜里的水煮鱼。"}, {"role": "assistant", "content": "好的,已经记下您的信息和口味偏好。"} ], "user_id": "user_001", "run_id": "session_001", "metadata": {"source": "chat"} }'
搜索记忆
根据查询字符串,搜索最相关的记忆。
请求地址:
POST /v2/memories/search/请求参数:
参数
类型
必选
说明
query
String
是
用于搜索的查询文本。
user_id
String
否
限定在指定用户下搜索。
agent_id
String
否
限定在指定智能体下搜索。
run_id
String
否
限定在指定会话下搜索。
filters
Object
否
基于元数据的过滤条件。
top_k
Integer
否
返回结果数量上限,默认 5。
请求示例:
curl -X POST http://<your-endpoint>:3306/v2/memories/search/ \ -H "Content-Type: application/json" \ -H "Authorization: Token <your-api-key>" \ -d '{ "query": "我喜欢吃什么", "user_id": "user_001", "top_k": 5 }'
获取全部记忆
获取指定范围内的所有记忆。
请求地址:
POST /v2/memories/请求参数:
参数
类型
必选
说明
user_id
String
否
用户的唯一标识符。
agent_id
String
否
限定获取指定智能体的记忆。
run_id
String
否
限定获取指定会话的记忆。
filters
Object
否
基于元数据的过滤条件。
查询参数(可选):
page、page_size用于分页。请求示例:
curl -X POST http://<your-endpoint>:3306/v2/memories/ \ -H "Content-Type: application/json" \ -H "Authorization: Token <your-api-key>" \ -d '{ "user_id": "user_001" }'
更新记忆
更新指定记忆的内容。
请求地址:
PUT /v1/memories/{memory_id}/请求参数:
参数
类型
必选
说明
data
String
是
更新后的记忆内容。
text
String
是
更新后的记忆内容(SDK 兼容别名,与
data二选一)。请求示例:
curl -X PUT http://<your-endpoint>:3306/v1/memories/<memory_id>/ \ -H "Content-Type: application/json" \ -H "Authorization: Token <your-api-key>" \ -d '{"data": "更新后的记忆内容"}'返回示例:
{"message": "Memory updated successfully!"}
删除记忆
删除指定范围内的记忆。
删除单条:
DELETE /v1/memories/{memory_id}/按条件删除全部:
DELETE /v1/memories/参数
类型
必选
说明
user_id
String
是
用户的唯一标识符(query 参数或 JSON body)。
agent_id
String
否
如果提供,则仅删除该智能体的记忆。
run_id
String
否
如果提供,则仅删除该会话的记忆。
请求示例:
# 删除单条 curl -X DELETE http://<your-endpoint>:3306/v1/memories/<memory_id>/ \ -H "Authorization: Token <your-api-key>" # 按条件删除全部 curl -X DELETE 'http://<your-endpoint>:3306/v1/memories/?user_id=user_001' \ -H "Authorization: Token <your-api-key>"返回示例:
// 删除单条 {"message": "Memory deleted successfully!"} // 按条件批量删除 {"message": "Memories deleted successfully!"}
批量操作
对多条记忆进行批量更新或删除。
批量更新:
PUT /v1/batch/# 批量更新多条记忆(每条用 memory_id + data 指定) curl -X PUT http://<your-endpoint>:3306/v1/batch/ \ -H "Content-Type: application/json" \ -H "Authorization: Token <your-api-key>" \ -d '{ "memories": [ {"memory_id": "<id_1>", "data": "更新内容1"}, {"memory_id": "<id_2>", "data": "更新内容2"} ] }'批量删除:
DELETE /v1/batch/# 批量删除多条记忆(每条只需 memory_id) curl -X DELETE http://<your-endpoint>:3306/v1/batch/ \ -H "Content-Type: application/json" \ -H "Authorization: Token <your-api-key>" \ -d '{ "memories": [ {"memory_id": "<id_1>"}, {"memory_id": "<id_2>"} ] }'
实体管理
管理系统中注册的用户、智能体、会话等实体。
获取实体列表:
GET /v1/entities/删除实体下所有记忆:
DELETE /v2/entities/{entity_type}/{entity_id}/,其中entity_type支持:user、agent、app、run。请求示例:
# 获取所有实体列表 curl -X GET http://<your-endpoint>:3306/v1/entities/ \ -H "Authorization: Token <your-api-key>" # 删除指定实体下所有记忆(示例:删除用户 user_001 的全部记忆) curl -X DELETE http://<your-endpoint>:3306/v2/entities/user/user_001/ \ -H "Authorization: Token <your-api-key>"获取实体列表返回示例:
{ "results": { "users": ["user_001"], "agents": [], "apps": [], "runs": [] } }
记忆历史
获取指定记忆的变更历史记录。
请求地址:
GET /v1/memories/{memory_id}/history/请求示例:
curl -X GET http://<your-endpoint>:3306/v1/memories/<memory_id>/history/ \ -H "Authorization: Token <your-api-key>"返回示例:
[ { "id": "0421a406-xxxx-xxxx-xxxx-7a0e886ead99", "memory_id": "d6b4fac6-xxxx-xxxx-xxxx-3289a763b6dc", "old_memory": null, "new_memory": "最爱吃川菜里的水煮鱼", "event": "ADD", "created_at": "2026-06-24T00:27:19.772241-07:00", "updated_at": null, "is_deleted": false, "actor_id": null, "role": null }, { "id": "085674b6-xxxx-xxxx-xxxx-5392c72dc5b8", "memory_id": "d6b4fac6-xxxx-xxxx-xxxx-3289a763b6dc", "old_memory": "最爱吃川菜里的水煮鱼", "new_memory": "最爱吃川菜里的水煮鱼和麻婆豆腐", "event": "UPDATE", "created_at": "2026-06-24T00:27:19.772241-07:00", "updated_at": "2026-06-24T00:27:47.207790-07:00", "is_deleted": false, "actor_id": null, "role": null } ]