混合检索
一句话:把关键词搜索和向量搜索结合起来,提高AI知识库找资料的准确率。
它是什么
混合检索是同时使用关键词匹配和向量语义检索。关键词搜索擅长找准确词、编号、人名、产品型号;向量搜索擅长理解相似意思。两者结合后,RAG系统更容易找到真正相关的资料。
适合干什么
- RAG问答命中率不稳定的项目
- 有大量产品型号、术语、编号的知识库
- 需要同时支持自然语言和精确搜索的系统
- 企业内部搜索和客服知识库
不适合干什么
- 数据量很小,普通搜索已够用
- 没有评测问题集
- 只想快速做原型不追求质量
- 文档本身混乱且未清洗
普通人怎么用
- 先建立关键词搜索
- 再为文档切片生成向量
- 同一个问题分别跑两种检索
- 合并结果并去重
- 用真实问题比较命中率
进阶用户怎么用
- 给关键词和向量结果设置不同权重
- 对检索结果进行重排
- 为不同问题类型使用不同检索策略
- 建立召回率和答案准确率评测表
常见误区
- 只用向量搜索,导致型号和编号找不准
- 结果合并后不去重
- 没有重排,相关片段排在后面
- 没有测试集,只靠感觉判断效果
和相似工具的区别
- 混合检索 vs 向量检索:向量检索偏语义相似,混合检索同时照顾语义和精确关键词。
- 混合检索 vs 重排模型:混合检索负责找候选资料,重排模型负责把候选资料重新排序。
入门步骤
- 准备20个真实问题
- 建立关键词索引
- 建立向量索引
- 合并两边结果
- 加入重排
- 记录每个问题是否命中正确资料
推荐工具(第三方)
Elasticsearch、OpenSearch、Milvus、Qdrant、LlamaIndex