检索增强生成算法

检索增强生成算法(Retrieval-Augmented Generation,RAG)是由Patrick Lewis等人于2020年提出的(https://arxiv.org/pdf/2005.11401),主要用于辅助大规模语言模型(Large Language Models, LLMs)在生成结果之前,查阅/检索外部知识库,得到相关辅助资料,用于"开卷"作答(如果是问答应用模式下),使生成的内容具有除了大模型本身具备的知识以外,有外部知识的支撑和辅助。具体算法的架构图,如下:

图 RAG的算法框架图

其中,如果对于没有应用RAG进行文本生成,只需要图中的生成器部分,x为用户的提示词或者问题等,输入到生成器中,生成器一般使用常用的LLMs进行文本的生成操作。

而RAG加入了检索器模块,论文中使用的外部知识库是wikipedia文章库,针对用户输入x,到外部知识库中进行检索,得到最相关的k篇文章段落。将检索到的相关文章段落与用户输入进行拼接,一起输入到生成器进行生成操作。

一般的文本生成模型就是典型的seq2seq模型,输入和输出都是文本序列。通过文本对训练大型语言模型(LLMs),用户输入文本后使用预训练好的LLMs生成输出文本序列。使用过程完全依赖于LLMs在训练过程中习得的语言技能和知识。

RAG的加入,帮助LLMs使用外部知识,在一定程度上缓解大模型的幻觉问题、非实时性等问题。

(未完待续)

相关推荐
Mr数据杨1 小时前
【Dv3Admin】插件 dv3admin_chatgpt 集成大语言模型智能模块
人工智能·语言模型·chatgpt
zm-v-159304339861 小时前
AI 赋能 Copula 建模:大语言模型驱动的相关性分析革新
人工智能·语言模型·自然语言处理
开放知识图谱3 小时前
论文浅尝 | HOLMES:面向大语言模型多跳问答的超关系知识图谱方法(ACL2024)
人工智能·语言模型·自然语言处理·知识图谱
weixin_444579303 小时前
基于Llama3的开发应用(二):大语言模型的工业部署
人工智能·语言模型·自然语言处理
水花花花花花5 小时前
Transformer 架构在目标检测中的应用:YOLO 系列模型解析
目标检测·架构·transformer
SoraLuna9 小时前
「Mac畅玩AIGC与多模态41」开发篇36 - 用 ArkTS 构建聚合搜索前端页面
前端·macos·aigc
Jackson@ML11 小时前
一分钟了解大语言模型(LLMs)
人工智能·语言模型·自然语言处理
qyhua11 小时前
用 PyTorch 从零实现简易GPT(Transformer 模型)
人工智能·pytorch·transformer
python15612 小时前
OpenWebUI新突破,MCPO框架解锁MCP工具新玩法
人工智能·语言模型·自然语言处理
一切皆有可能!!14 小时前
ChromaDB 向量库优化技巧实战
人工智能·语言模型