Operations 09

Retrieve

四路融合检索

交互

切换查询并开关检索策略。点击 "RRF Fusion" 查看多策略结果如何融合。

Query:
Semantic
向量相似度

张伟住在上海浦东新区

0.92

张伟去年住在北京朝阳区

0.88

张伟经常去杭州出差

0.71
Keyword
关键词匹配

张伟住在上海浦东新区

0.95

张伟去年住在北京朝阳区

0.90

张伟的公司地址在深圳

0.60
Graph
图谱遍历

张伟 → 居住于 → 上海 (当前)

0.96

张伟 → 就职于 → 字节跳动(上海)

0.78

上海 → 位于 → 中国东部

0.55
Temporal
时间加权

张伟住在上海浦东新区 [2025-03 至今]

0.98

张伟住在北京朝阳区 [2023-01 ~ 2025-02]

0.45

张伟住在杭州 [2021-06 ~ 2022-12]

0.20

单一策略远远不够

同一个问题,不同检索策略会给出不同答案。没有哪种是万能的:

策略擅长弱项
语义搜索模糊查询、意图理解精确名称、专有名词
关键词搜索精确名称、特定术语同义词、意图理解
Graph 遍历关系推理、多跳查询模糊搜索、无明确实体
时间过滤区分当前与历史事实与时间无关的查询

Hindsight 的 TEMPR:四路融合

Hindsight(1.8K stars)并行运行四种策略,然后通过 RRF(Reciprocal Rank Fusion)融合结果。

路径 1:语义 — vector 相似度搜索
路径 2:关键词 — BM25 关键词匹配
路径 3:Graph — 实体 graph 遍历
路径 4:时间 — 时间加权排序
————————————
RRF 融合:求倒数排名之和,重新排序

什么是 RRF?

一种简单高效的融合算法。对每个结果,求其在所有策略中排名倒数之和:

score(d) = sum( 1 / (k + rank_i(d)) )

其中 k 是平滑常数(通常为 60)。即使某个结果只在一种策略中排名靠前,RRF 也能给它一个合理的综合得分。

效果

LongMemEval 上,Hindsight 的 TEMPR 达到 91% 准确率,而全上下文基线约为 46%。多路融合远优于"把所有内容塞进上下文"。

要点

没有银弹。每种检索策略都有盲区。工程最优解是多路并行检索 + 排名融合,让各策略相互弥补。这也是 Graphiti 同时支持 graph 遍历和 vector 搜索的原因。


下一节

Memory 不仅是存取。新信息不断涌入,旧 Memory 需要整合与再思考。下一节:Memory 的演化。