You need to enable JavaScript to run this app.
文档中心
记忆库 Mem0

记忆库 Mem0

复制全文
下载 pdf
记忆检索
记忆检索能力概述
复制全文
下载 pdf
记忆检索能力概述
自 2026 年 07 月起,记忆库 Mem0 新实例采用全新架构,在已有向量检索的基础上,新增全文检索和混合检索能力,为您提供更灵活的检索方案选择。本文介绍相关功能及使用建议。​
功能介绍​
在长期记忆场景中,您可能需要从大量历史对话里快速定位某条具体信息,例如“Caroline 的生日是什么时候”或“John 的学位是什么”。全文检索正是为此而设计,它不依赖语义理解,直接通过关键词匹配,帮您精准找到包含特定词语的相关记忆。​
为帮助您更好地理解全文检索的能力边界,下面将全文检索与向量检索、混合检索进行对比。​
​
检索模式​
检索方式​
说明​
适用场景​
示例​
全文检索​
关键词匹配​
通过匹配问题中的关键词快速定位包含特定词语的记忆。​
包含人名、日期、编号等明确信息的问题​
​
Q: “John 喜欢吃什么水果?”​
A:“John 说最喜欢吃苹果。”​
说明​
通过匹配问题中的关键词“John”和“水果”,返回包含这些词语的相关记忆。​
向量检索​
语义理解​
通过计算语义相似度进行检索,问题用词与记忆原文不一致时也能找到相关内容。​
概括性、推理性问题​
Q:“John 喜欢苹果吗?”​
A:“他说最喜欢吃红富士。”(水果)​
“他刚换了最新的苹果手机。”(品牌)​
说明​
两条结果均与“苹果”相关,但分别指水果和品牌。​
混合检索​
向量检索 + 全文检索融合​
同时执行全文检索和向量检索并综合排序,兼顾精确匹配与语义泛化理解。​
​
兼有精确查询和语义理解需求的场景​
Q:“John 喜欢吃什么水果?”​
A:“John 说最喜欢吃苹果”,“他提过爱吃香蕉”,“他说草莓也不错”。​
说明​
通过关键字“John”、“喜欢吃”在全文检索中可以检索到“John 说最喜欢吃苹果”这一句。通过向量检索到“香蕉”、“草莓”从语义上属于“水果”一类,因此向量检索可以召回“他提过爱吃香蕉”和“他说草莓也不错”。以上即为本次检索的全部返回结果。​
​
模式选择​
可以通过字段 search_mode 的取值来切换检索模式。支持的检索方式包括全文检索、向量检索以及混合检索。​
  • 混合检索:当 search_mode取值为 mix_vector_fts时,为混合检索模式。混合检索综合了向量检索和全文检索的优势,在大多数场景下表现更稳定,建议作为默认选项。混合检索的 rrf_k 默认值为 60。​
  • 全文检索:当 search_mode取值为 full_text时,为全文检索模式。全文检索适合问题中包含明确关键词的场景。如果您的问题比较概括,建议改用向量检索或混合检索。​
  • 向量检索:当 search_mode取值为 vector或不传入参数时,为向量检索模式。向量检索适合语义类问答场景,能够理解您的意图而非仅仅匹配文字。​
使用示例​
以下 API 示例以调用混合检索模式为例。​
注意​
  • 请将示例中的 {data_base_url} 替换为目标记忆项目的数据面服务地址;将 {project_id}替换为目标记忆的项目 ID;将 {api_key} 替换为可访问该项目的 API Key。​
  • Native HTTP API 使用 Authorization: Bearer {api_key},Mem0 HTTP API 使用 Authorization: Token {api_key}。​
Native HTTP API​
请求体​
​
POST {data_base_url}/base/v1/project/{project_id}/memory/search​
Authorization: Bearer {api_key}​
Content-Type: application/json​
​
{​
"user_id": "u-demo",​
"agent_id": "a-demo",​
"run_id": "r-demo",​
"query": "How to fix adapter overheating?",​
"top_k": 6,​
"search_mode": "mix_vector_fts",​
"rrf_k": 60,​
"metadata_filter": {"device": "XG-T45"}​
}​
​
响应​
响应中的 data.items 为命中记忆,混合检索中 similarity_score 是 RRF (倒数排名融合)分数。​
​
{​
"code": 0,​
"message": "success",​
"data": {​
"project_id": "{project_id}",​
"total": 1,​
"items": [{​
"memory_id": "{memory_id}",​
"content": "replace the frayed USB-C cable and use the 65W rated brick",​
"similarity_score": 0.0320​
}]​
}​
}​
​
Mem0 HTTP API​
请求体​
​
POST {data_base_url}/v1/memories/search/​
Authorization: Token {api_key}​
Content-Type: application/json​
​
{​
"query": "How to fix adapter overheating?",​
"user_id": "u-demo",​
"agent_id": "a-demo",​
"run_id": "r-demo",​
"top_k": 6,​
"search_mode": "mix_vector_fts",​
"rrf_k": 60,​
"filters": {"device": "XG-T45"}​
}​
​
响应​
/v1/search/ 与 /v2/memories/search/ 为兼容入口,可使用相同请求体。响应使用 mem0 兼容结构,主要字段为 results[].id、results[].memory 与 results[].score。​
说明​
Native HTTP API 与 mem0 HTTP API 为两套独立入口,根据您的接入方式选择其一即可。​
​
最近更新时间:2026.10.28 17:08:20
这个页面对您有帮助吗?
有用
有用
无用
无用