rag应用问题的思考

124 阅读3分钟

图片.png

RAG,全称Retrieval-Augmented Generation,翻译过来就是“检索增强生成”。它结合了检索和生成两大超能力,能够从海量数据中快速找到答案,并且能够生成新的、有用的信息。这就好比我们的超级英雄,不仅能够瞬间找到藏宝图,还能自己画一张新的藏宝图,带领我们找到更多的宝藏。三个主要阶段为:

1)检索(Retrieve),即根据用户请求从外部知识源检索相关上下文(更加重要);

2)增强(Augment),即将检索到的附加上下文与用户查询结合,填充到提示模板中;

3)生成(Generate),即将检索增强的提示馈送到LLM,生成答案。

Q1: 选择用知识库的原则是什么?RAG的场合和LLM的场合的区别是什么?

A:建议根据数据之间的连接特性或网络(关联)属性等原则选用知识库。RAG属于数据检索的一种技术手段,可成为LLM的外接工具之一。LLM一般应用于拥有大量训练数据场景下,常见的领域有医疗保健、金融风控等。

Q2: 上下文直接输入情景材料到大模型跟RAG的区别呢?我可能没描述清楚。就是我在和模型对话的时候,输入了大量我从别处找来的材料,这也算是一种RAG吗?

A:从外接数据量的角度来看,没有本质区别。从大模型生成回答的数据角度来看,属于一种单轮问答的RAG。

Q3: 啥时候用知识图谱,啥时候用rag?

A:数据之间的大部分关系为多对多时,选用知识图谱;可直接用关系型、KV等数据库存储时,选用RAG。

Q4: 知识图谱存储方式?

A:知识图谱表示主要采用三元组(Subject,Predicate,Object)或是异质属性图的方式存储。

Q5: 图片数据提取的问题?图片提取到的数据如何处理?

A:图片中如存在多个物体,可使用提示词等技术手段分割物体后再处理,或是提取物体间相对位置等信息以便后续处理;如是文献等含有待识别文本信息的图片,可采取OCR等技术手段抽取实体及实体间关系。也可结合了文本输入,使用多模态大模型(多模态大模型的应用案例请看Q25)。

Q6: 文本向量化就是LLM提取的 feature embedding吗,还是会有独特的技术?

A:文本向量化的一个步骤是学习文本的嵌入向量,即feature embedding,其他可能会用到的技术为:chunked 分块技术、语义分割技术等。比较有名的模型为智源研究院提出的BGE模型。

全文请参考 RAG实战与其问题