LLM大语言模型应用方案之RAG检索增强生成的实现步骤。

0.我理解的RAG

什么是RAG?

RAG的全称是"检索增强生成模型"(Retrieval-Augmented Generation)。这是一种特别聪明的大语言模型。

RAG是怎么工作的呢?

1.检索:当你问RAG一个问题时,它会先去"图书馆"里找相关的信息。这些"图书馆"里有很多知识和数据。

2.生成 :找到了相关的信息后,RAG会用这些信息来生成一个回答。

为什么RAG很厉害?

有时候,大语言模型可能会不记得所有的细节,但RAG可以通过检索来找到需要的具体信息,然后再回答你的问题。这就像是你问一个问题,RAG先去查了一下百科全书,然后再告诉你答案,所以回答会更准确。

举个例子:

问:"世界上最高的山是什么?"

RAG做了什么:

1.去"图书馆"查找关于最高山的资料。

2.找到了珠穆朗玛峰是世界上最高的山。

3.回答:"世界上最高的山是珠穆朗玛峰,高约8848米。"

这样,通过先检索再生成答案,RAG可以提供准确而有用的回答。

这其中去"图书馆"查找关于高山的资料,我们就可以通过一些方法,将自己拥有的数据进行处理,让大语言模型结合我们问的问题在我们处理后的数据中寻找答案。

1.我的RAG程序的执行流程

  • 模型初始化

    初始化一个大语言模型(LLM)和一个嵌入模型(embedding模型)。

  • 读取文档进行数据分割

    将文档交给代码进行读取,将长文档分割成较小的部分,以便处理。

  • 向量处理

    将分割后的文档数据通过嵌入模型进行向量化处理,生成每个文档段落的向量表示。

    将向量化处理后的数据保存到数据库中。

  • 检索流程

    创建一个包含检索和生成步骤的处理链。

  • RAG链包括以下步骤:

  • 创建检索器

    从向量存储的数据库中创建检索器,在检索时使用余弦距离来衡量向量之间的相似度。 检索器用于检索与输入问题相关的文档内容。

  • 加载提示词模板

    加载提示词模板,用于指导大语言模型生成回答。

  • 格式化检索到的文档

    将检索到的相关文档内容通过格式化函数转换为一个字符串,方便后续处理。

  • 调用处理链处理输入问题

    输入的问题首先通过检索器检索相关文档。

    然后结合提示词模板和格式化后的文档内容,传递给大语言模型。

    大语言模型生成一个准确的回答。

2.效果

在我的提示词模板中, 说明了,如果文档中不存在的内容,只需要回答不知道就可以了。

相关推荐
zhangrelay2 小时前
新版|-|单片机原理与接口技术-2026持续改进优化-从MEGA2560-ESP32与Wokwi到ROS2-Lyrical与具身智能栈
笔记·单片机·嵌入式硬件·学习
叼烟扛炮6 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
m4Rk_8 小时前
【论文阅读】Agent 记忆机制(113):Agentic Memory Management——从“检索相关信息”走向“管理 Agent 内部记忆”
论文阅读·人工智能·学习·开源·github
辣知9 小时前
辣知·化智92 《山海经》里的史前密码
学习
鬼手点金9 小时前
KV Cache 未必是一次性的:可编辑、可组合的“笔记”
java·人工智能·笔记·学习·自动化·1024程序员节
kyrie_sakura10 小时前
大模型学习18 大模型学习 - LangChain2_Model I/O
学习·自然语言处理
zhangfeng113311 小时前
大语言模型 Greedy Decoding,贪心解码 / 贪心搜索
人工智能·语言模型·自然语言处理
宝绿特塑业再生科技11 小时前
板材收缩率不稳,户外家具装配尺寸为何对不上:从切割尺寸变化到接缝不一的系统性排查与对策
笔记·科技·学习·生活·户外家具·hdpe再生颗粒·hdpe
~城南花已开~12 小时前
Intel E810 SR-IOV VF Spoofcheck 防伪造测试-KVM3
服务器·网络·笔记·学习·ubuntu·etl工程师
郝学胜-神的一滴13 小时前
AI 编程智能体 16:从零基础搭建到精细化优化
人工智能·python·算法·语言模型·langchain·pip