创建时间: 2026-03-24最后更新: 2026-08-20作者: yangbo(1d44bcbb8)
1. RAG
先从记忆系统中检索相关内容,再通过 LLM 生成回复,这种模式就是 RAG(Retrieval-Augmented Generation),也被称为检索增强生成
而在记忆系统中,我们可以通过多种方式存储记忆,例如关系型数据库、向量数据库、键值存储等
数据库直接存储的缺陷是:无法进行语义检索,无法进行相似度匹配,因此,在特性的需求之下,我们需要使用向量数据库来存储记忆,并使用语义检索来检索记忆。
但是,向量数据库并不是万能的,它也有自己的局限性,例如:
用户询问:“我的生日是几月几号?”
向量检索可能召回 用户生日当天去了 Blue Note 爵士酒吧庆祝。这段记忆确实和生日有关,却没有回答具体日期。此时应该直接查询结构化的用户画像表,取出 birthday: "03-14",而不是继续比较文本的语义相似度
时间范围查询也有相似的问题,用户问:上周我们聊了什么?
其中的上周是一个明确的时间条件,向量检索本身并不理解这个范围。虽然可以像第四篇文章中提到的那样增加元数据过滤,但如果上周积累了 200 条对话,只返回相似度最高的 Top-5,依然无法概括那一周的完整内容
又比如全文关键词查询。用户说: 我之前提到过一本叫《三体》的书
三体 属于专有名词,Embedding 模型处理这类词语时并不总是稳定。它可能把查询映射到 物理学 或 科幻 一类更宽泛的语义方向,却没有精确匹配 三体 这两个字。面对这种查询,传统关键词搜索反而更可靠
这三类问题分别指向精确事实、时间范围和专有名词,它们需要的是精确匹配或结构化查询。因此,记忆系统不能只依赖向量检索,还需要把向量检索、关键词检索和结构化查询组合起来。这就是本篇要介绍的混合检索架构。
正在验证登录状态
请稍候,验证完成后将继续显示文章内容