检索增强生成简称RAG(Retrieval-augmented Generation),RAG为大语言模型安装了知识外挂,基础大语言模型不用训练,通过RAG技术与大语言模型结合在回答问题的时候,可以通过企业内部的知识库检索相关和最新的信息来生成内容,从而提高了回答问题的准确性、实时性和关联性。
01
—
为什么要用混合检索?
在RAG智能问答系统中,RAG检索环节中的检索的方式采用向量检索,即通过语义相关度匹配的方式进行检索。
技术原理是通过将外部的知识库文档进行拆分成语义完整的段落或者句子,并将其转化为向量存储,而对用户的问题也同样进行向量化,然后通过用户问题与句子之间的语义相关性,查找出相关度最高的文本,找到后RAG系统会将用户的问题、相关内容一起提供给大模型,大语言模型推理出问题的答案。
向量检索除了能够实现复杂语义的文本查找,还有其他优势:
- 容错性:处理模糊描述、拼写错误;
- 多模态理解:支持文本、图像、音视频等相似匹配;
- 多语言理解:跨语言理解,如输入中文匹配英文;
- 相似语义理解;
向量检索在某些情况下效果不佳,如:
- 搜索一个人或者一个物体的名字;
- 搜索缩写词或者短语;
- 搜索ID等场景 而这些场景恰恰是传统关键词搜索的优势所在,传统的关键词搜索的优势在于精准搜索、少量字符匹配等方面。
在文本搜索场景,首先需要确保最相关的结果能够出现在检索的结果中。向量检索和关键词检索各有优势,而引入混合检索结合了两种搜索技术的优点,并且弥补了各自的缺点。
02
—
什么是混合检索?
混合检索是结合了两种或者多种搜索算法提高搜索结果相关性的搜索技术。而在RAG系统中,混合搜索最常见指向量检索和关键词检索的组合。
不同的检索系统在寻找文本中各自擅长之间存在不同的联系,没有任何一种检索模式能够适用全部的情景,混合检索通过多个不同的检索系统组合,结合不同检索系统的优势,实现多个检索技术直接的互补。