x-lin7
A
分屏 专注

检索基础

4 分钟阅读 · 更新于 2026-05-29T04:34:26.234808Z · #rag #search

为什么需要检索

大模型上下文有限,且训练数据有截断时间。检索增强生成(RAG) 在生成前先从外部知识库取相关片段塞入 prompt,让模型「看着资料答」。

朴素检索

最早的做法是关键词倒排索引(BM25 等)。优点:可解释、零冷启动;缺点:同义不通、上下文丢失。

向量检索

把文档块和查询都转成向量,按余弦相似度排序。优点:语义匹配、跨语言;缺点:训练成本、不可解释。

混合检索

现代 RAG 通常 BM25 + 向量 + rerank 三阶。BM25 召高频精确词,向量召语义近邻,rerank 用 cross-encoder 精修 top-K。

# 概念伪代码
candidates = bm25.search(q, k=50) | vector.search(q, k=50)
top = rerank(q, candidates)[:10]

参考: Pinecone Hybrid Search

499 1 0 1
⌘P 跳转 · ⌘K 搜索 · ⌘. 切栏 · ⌘E 编辑