RAG的流程
RAG Retrieval-augmented Generation,大模型增强技术,现在热门的大模型技术之一。搭建企业私有知识库的必备,既可以在使用AI智能的时候,及时的加入本地业务知识,又不会暴露企业的内部信息。
RAG的流程一般分为四步:
- 知识提取
从给定文档、图片、网页中提取数据。 - 知识索引
给数据做合理的切割,使用embedding 技术将文本变成向量数据,存入到向量数据库。非结构化文件所附带的元数据(时间、文件名、作者、标题等)也会保存,作为索引的一部分。 - 知识检索
RAG接收用户的提问,将提问内容也通过embedding技术转为向量数据。然后与向量数据库中数据进行匹配(相似度、相关性等方面的匹配)。通常会使用一些粗略的提取K个块(这时候可以比较多,比如100个),然后rerank进行精准排序,最后提取前K(这时候比较小,比如3 、4)个结果。 - 生成
将最终的k个结果,还有提示词,发送给大模型,大模型进行语言组装、生成。
优缺点
优点
- 保护私有数据。不需要上传到在线模型,且在不训练模型的情况下,还能保证模型数据及时性。
- 减少幻觉。不会让模型随意生成,通过提示词可以强制只根据查询结果回复
- 可解释性提高。可以随时反馈引用的文档,可视化输出结果的原因
缺点
- 性能问题。私有的数据量可能很大,检索会很慢
- 低命中率问题。无无论用户意图是否明确,由于检索算法限制,可能无法高效召回相关信息。
- 冗余。搜索的信息包含重复的信息,会生成重复内容
- 用户的语义难以明确。单纯的向量相似也未必是相似的语义。