news 2026/2/13 13:41:01

AI大模型之Agent,RAG,LangChain(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI大模型之Agent,RAG,LangChain(二)

这一期我来详细分析一下RAG的基础理论知识.

RAG作为LLM重要的一种思想,在工作中的应用是相当广泛的.

一.为什么使用RAG

1.传统LLM

在传统LLM中,有四个重要的缺陷有待解决.

  • LLM的数据不是实时的.

在这里我举个例子,比如说,不使用LLM工具,直接询问当下热点事件,大模型会回答你他不知道,这是因为大模型的数据是不能自动更新的,他的数据停留在最后训练这个模型的时间点.

  • LLM缺乏专业领域的知识

就比如说,你想制造一个火箭,这是问不出来的.

  • LLM会造成信息泄露

公司内部的数据使用LLM会造成信息泄露,公司内部会有自己内部训练的LLM防止信息泄露.

  • 幻觉问题

LLM在不知道的问题上会胡编乱造,这就是幻觉问题.

2.RAG

为了解决LLM痛点,提出了RAG.

RAG叫做检索增强生成. 个人理解为:检索外部文档,提升生成结果的质量

那么RAG是如何解决传统LLM的痛点的.

下面是一个RAG大致的执行流程.

二:RAG工作原理

1.RAG执行流程

这里我自己画了一张RAG的大致执行流程:

在这里我们可以明显发现,有了RAG以后,传统LLM的缺陷被很好的解决了.

2.RAG缺陷

但是仔细观察执行图会发现,问题和外挂数据库结合后还是要在LLM里面处理,这还是会导致信息泄露.

如何解决这个问题呢?这里提供两种解决方法.

首先就是公司员工按需检索,其次是RAG通过用户检索提供片段内容回答.

总的来说就是通过减少信息暴露来解决RAG的这个缺陷.

三:RAG详细执行流程

我在这里列出一张详细的RAG执行流程图:

大家可以先大致的看一下这个执行流程,下面我将详细的分析一下这张执行流程图,包括重点和注意点.

  • 服务端

用户输入问题-->向量嵌入用户输入的问题-->放到词向量库准备和专用知识库向量进行相似度匹配

  • 外挂知识库端

知识数据库里面有很多类型的数据(pdf,csv,word等),把这些格式的数据全部转换为字符串.然后把这些字符串切割为标准长度的chunk(数据块),然后进行向量嵌入处理后放到词向量库和词向量进行相似度匹配.

  • 输出端

客户端提问向量和外挂知识库相似度匹配后根据需求找出匹配度前几项,然后把这几项和原始问题结合起来组成prompt,把prompt提供给LLM处理后输出结果.

这里我来解释一下什么是向量嵌入.

向量嵌入指的是给你输入的文本贴上标签.对于用户提问来说,就是给你的提问变成向量然后贴上标签,对于外挂知识库来说,就是给你的chunk变成词向量然后贴上标签.

这就是RAG执行的细致流程.

四.常见的向量库

这里我自己总结了一写常见的向量库,我们使用的较多的是milvus.他们各自适用的场景我也列出来提供比较.

五.小结

个人认为这一节的基础知识是学习LangChain的重要部分,务必要完全掌握.列出几个比较简单的问题来回忆.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 0:46:56

Pock免费快捷键大全:解锁MacBook Touch Bar的终极生产力指南

Pock免费快捷键大全:解锁MacBook Touch Bar的终极生产力指南 【免费下载链接】pock Widgets manager for MacBook Touch Bar 项目地址: https://gitcode.com/gh_mirrors/po/pock 想要让MacBook Touch Bar真正发挥其潜力吗?Pock作为一款完全免费的…

作者头像 李华
网站建设 2026/2/12 20:07:08

Oblivion Desktop跨平台通知系统:从技术挑战到优雅解决方案

在网络工具开发过程中,开发者面临着一个关键挑战:如何在复杂的网络环境下为用户提供及时、准确且不干扰的操作反馈。Oblivion Desktop作为一款基于Electron的跨平台桌面应用,通过创新的通知系统架构,成功解决了这一难题。 【免费下…

作者头像 李华
网站建设 2026/2/12 6:23:25

IO方面学习总结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、异常1.异常分类2.异常流程3.异常的作用4.异常的处理方式JVM默认处理方案5.自己处理捕获异常6.抛出异常二、方法引用1.要求:2.方法引用的分类三、…

作者头像 李华
网站建设 2026/2/6 23:31:42

Kronos金融预测模型三版本深度评测:从3.2M到86M参数的性能跃迁

Kronos金融预测模型三版本深度评测:从3.2M到86M参数的性能跃迁 【免费下载链接】Kronos Kronos: A Foundation Model for the Language of Financial Markets 项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos 在量化投资领域,模型…

作者头像 李华
网站建设 2026/2/9 19:27:55

清华virtuoso简明教程PDF资源完整指南

探索virtuoso软件的奥秘,从这里开始!《清华virtuoso简明教程》PDF文档为您呈现,助您轻松掌握软件的核心操作与技巧。无论您是初学者还是进阶用户,这份详实而清晰的教程都将成为您学习道路上的得力助手。 【免费下载链接】清华virt…

作者头像 李华
网站建设 2026/2/10 6:01:19

Visual Basic 鼠标事件

除了常用的Click和DblClick事件之外,有些程序还需要对鼠标指针的位置和状态变化做出响应,因此需要使用鼠标事件MouseUp,MouseDown和MouseMove。当鼠标指针位于窗体上方时,窗体将识别鼠标事件。当鼠标指针在控件上方时,…

作者头像 李华