长记忆服务
长记忆服务是上下文服务中提供的核心能力,基于ADBPGMem实现记忆数据的管理和服务配置,支持Session、User、Agent三种记忆场景。
登录ADBPGMem Dashboard
开通长记忆服务后,可通过ADBPGMem Dashboard进行记忆数据的管理和服务配置。
在上下文服务页面,选择对应的工作空间。
单击工作空间中长记忆服务区域的访问服务,即可登录ADBPGMem Dashboard。
核心功能
记忆场景
具体使用记忆时,支持如下三种场景:
记忆场景 | 说明 | 检索方式 |
Session | 短期记忆场景,只关心某个对话Session中所产生的记忆,不会引用其他Session的记忆。记忆持久存储,除非调用记忆删除接口将其删除。 | 通过Run ID加载或检索该Session的所有记忆。 |
User | 适用于需要引用某个用户历史上所有的记忆,包含所有与该User相关的Session的记忆。主要存储事实、情景、语义三种记忆类型。 | 通过User ID检索该User的所有记忆,或结合User ID与Session ID检索该User对应的Session记忆。 |
Agent | 主要用于AI Agent的长记忆场景,Agent记忆主要关注程序记忆(例如子任务的执行动作与结果)。业务调用Agent记忆接口时,AnalyticDB for PostgreSQL会使用特定Prompt提取Agent与LLM的交互历史记录,形成记忆存储至Vector Store中。 | 通过Agent ID检索该Agent的所有记忆,或结合Agent ID与Session ID检索该Session的Agent记忆。 |
记忆分类
针对每一条记忆,ADBPGMem会对其具体内容进行自动分类,并在召回时支持按照记忆分类检索。一条记忆支持多个分类标签。
categories值 | 含义 |
| 静态个人信息:年龄、性别、联系方式、国籍、教育背景等。 |
| 家庭关系:配偶、子女、父母、亲戚及家庭动态事件。 |
| 职业信息:职位、公司经历、行业专长、技能、职业成就与目标。 |
| 运动兴趣:参与的运动项目、偏好(团队/个人)、训练习惯及成绩。 |
| 旅行记录:去过的地方、偏好目的地、出行频率、住宿偏好。 |
| 饮食偏好:喜欢的菜系、过敏/禁忌、烹饪习惯、餐厅偏好。 |
| 音乐喜好:流派、喜爱艺人、会玩的乐器、音乐会参与情况。 |
| 健康状况:体检记录、健身计划、营养方案、身心健康目标。 |
| 技术相关:设备偏好、软件熟练度、编程技能、对新技术的关注。 |
| 兴趣爱好:阅读、艺术、手工、园艺、游戏等及相关社区参与。 |
| 时尚风格:穿着偏好、品牌倾向、购物习惯、配饰选择。 |
| 娱乐偏好:电影、电视、书籍、流媒体平台、剧院/节日参与。 |
| 人生里程碑:毕业、婚礼、晋升、奖项、重要个人成就。 |
| 用户设置偏好:界面主题、语言设置、通知配置、工具自定义等。 |
| 杂项:无法归入其他类别的信息、临时备注或特殊记录。 |
记忆检索
查询处理
使用LLM从用户的原始查询中提取关键信息。
根据上下文和查询意图生成合适的过滤条件,加速检索的效率和准确度,如分类信息、时间范围。
可配置检索参数:返回记忆条数(TopK)、记忆召回阈值(Threshold),低于该阈值的记忆不召回。
向量检索
使用优化后的查询进行Embedding,在向量数据库内执行语义搜索。
根据与查询的相关性对结果进行排序。
应用指定的过滤条件(用户、代理、元数据等)。
结果处理
整合多个搜索条件返回的结果,并按照相关性、重要性、时间等因素进行排序。
返回带有相关性评分的记忆条目。
包含相关的元数据和时间戳,如标签、分类等。
记忆更新
信息抽取
使用LLM从对话的上下文中提取出相关记忆。
识别出重要的实体(Entity),并抽取各个实体之间的关系(知识图谱)。
记忆存储
向量数据库存储实际的记忆内容。
图数据存储实体之间的关系。
每一轮对话迭代中,都会自动更新记忆的内容。
ADBPGMem优势
在兼容mem0协议的基础上,ADBPGMem提供了mem0社区版没有的能力:
对比项 | ADBPGMem | mem0社区版 |
记忆增删改查 | 支持 | 支持 |
AI Agent结合(程序性记忆) | 支持,优化 | 不可用 |
AI Agent生态 | 对接Hermes、OpenManus、Supabase、SAA | 无 |
向量引擎 | AnalyticDB for PostgreSQL自研向量引擎 | 需用户自行集成 |
情景记忆(Episodic Memory) | 支持 | 不支持 |
记忆遗忘(时间维度) | 支持 | 不支持 |
异步/同步模式 | 支持, | 仅支持异步 |
记忆生命周期 | 支持 | 不支持 |
模型 | 自由选择Embedding、LLM模型 | 国外模型 + DeepSeek |
数据主权 | 支持中国内地、海外部署,数据不出域。 | 海外托管 |
相关API
功能 | API | 描述 |
写入记忆 | POST | 服务从对话中提取事实并写入向量库。默认异步执行(async_mode=true);设为false可同步等待结果返回。 |
检索记忆 | POST | 向量语义检索记忆。实体ID必须通过filters对象传入。 |
获取全部记忆 | POST | 获取记忆列表,分页返回。实体ID通过filters对象传入,分页参数page/page_size作为Query Params传入。 |
获取单条记忆 | GET | 根据ID获取单条记忆详情。 |
更新记忆 | PUT | 更新指定记忆的内容。请求体支持text或memory字段。 |
删除记忆 | DELETE | 删除指定记忆。 |
批量删除 | DELETE | 批量删除记忆,可按user_id/agent_id/run_id过滤。此操作不可逆。 |
历史记录 | GET | 获取指定记忆的历史修改记录。返回列表中每项包含old_memory、new_memory、event等字段。 |
健康检查 | GET | 健康检查接口,验证服务可达性与鉴权有效性。 |
具体调用方式,您可以登录ADBPGMem Dashboard,单击左侧导航栏的API文档查看。
Agent接入
ADBPGMem支持mem0 SDK协议,以Hermes Agent接入为例,只需一行配置即可将ADBPGMem作为长期记忆后端。
Hermes Agent
Hermes的记忆系统采用插件架构(MemoryProvider ABC),官方内置的mem0插件通过mem0ai SDK与记忆后端通信。任何兼容mem0协议的服务,都能直接作为Hermes的记忆后端。
mem0 SDK兼容性
ADBPGMem在REST API基础上实现了完整的mem0 SDK /v3/路径兼容:
mem0 SDK调用 | 内部路径 | 兼容状态 |
|
| 完整兼容 |
|
| 完整兼容 |
|
| 完整兼容 |
|
| 完整兼容 |
关键适配点:
路径映射:
/v3/memories/search/映射至内部语义检索引擎。参数格式兼容:同时接受
user_id顶层传参和filters: {user_id: ...}嵌套传参。响应格式对齐:返回结构与mem0 Platform API一致(
{results: [...], total, page, ...})。
无需编写适配器或自制HTTP客户端,mem0生态中的上层应用(Hermes、LangChain、CrewAI等),任何使用MemoryClient(host=...)的框架都能即插即用。
Hermes Mem0插件改动
Hermes的mem0插件原本只支持官方Mem0 Platform。为接入ADBPGMem,只需为插件增加base_url配置项:
# plugins/memory/mem0/__init__.py (+9, -1)
# _get_client() 核心改动:
- self._client = MemoryClient(api_key=self._api_key)
+ kwargs = {"api_key": self._api_key}
+ if self._base_url:
+ kwargs["host"] = self._base_url
+ self._client = MemoryClient(**kwargs)配置~/.hermes/.env:
MEM0_API_KEY=sk-your-adbpgmem-token
MEM0_BASE_URL=https://your-adbpgmem-endpoint启动Hermes后,记忆的自动提取、存储和语义召回全部由ADBPGMem在服务端完成。