检索模块深度解析
1、检索模块的核心目标
两大核心目标
- 快速毫秒级找到内容,用户提问立刻出相关资料,不卡顿、不等待,保证对话流畅。
- 精准只挑真正相关的知识库内容,剔除无关、冗余、错误信息,不找错资料、不找杂资料。
实际作用
- 不给模型喂无关内容,减少幻觉(不乱编答案)
- 只用知识库真实内容作答,答案有据可依
- 缩小回答范围,提升回复正确率与专业性
简单流程
用户提问 → 检索模块理解语义 → 去知识库匹配相似内容 → 筛选高分相关文档 → 把资料传给大模型 → 模型结合资料答题
2、基础检索的方法
- 文本向量化:把一句话、一段文档,通过Embedding嵌入模型,转换成一串数字数组(向量)
- 意思越接近的文本,向量数值越接近
- 意思差别大,向量差距大
例:
“今天天气很好”
·“今日天气晴朗”两者字面不同,向量高度相似
- 入库存储:所有知识库文档全部转成向量,存入向量数据库
- 问句向量化:用户提问同样用同一个Embedding模型转为向量
- 相似度计算:计算问题向量和<