news 2026/5/25 12:27:19

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/5/24 19:23:38

CLI形态的智能编程

CLI形态的智能编程,是指把AI编程能力做成“命令行工具(Command-Line Interface)”,让开发者在终端里直接敲自然语言指令,就能完成写代码、改Bug、跑测试、部署等任务,而不必打开图形界面或IDE。它的核心特点…

作者头像 李华
网站建设 2026/5/25 3:44:35

说说Redis的单线程架构

回答框架建议 一句话概括核心:先给出精准的定义,纠正常见误解。详细阐述“单线程”的含义:具体是哪里单线程。深入分析为什么采用单线程还能如此高效:这是回答的精华部分。客观讨论单线程模型的优缺点:体现你的辩证思考…

作者头像 李华
网站建设 2026/5/25 9:47:11

MSF的基础使用

以两个windows主机层面的漏洞,简单演示一下msf框架的使用。 MS08-067 简介 影响范围:MS08-067漏洞会影响Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。 漏洞产生的原因及攻击效果&…

作者头像 李华
网站建设 2026/5/24 3:21:51

[技术讨论] 三极管高低温特性测试

三极管控制电路是很常见的,但是设计不好的时候,也会导致电路正常的工作。比如下面两个电路,仅仅是集电极电阻不一样,也就是流过集电极的电流不一样,最后仿真的结果就会显示三极管BE的压降不相同,一个是0.77…

作者头像 李华
网站建设 2026/5/25 22:34:18

Semgrep终极指南:快速掌握跨平台静态代码分析利器

Semgrep终极指南:快速掌握跨平台静态代码分析利器 【免费下载链接】semgrep Lightweight static analysis for many languages. Find bug variants with patterns that look like source code. 项目地址: https://gitcode.com/GitHub_Trending/se/semgrep 告别…

作者头像 李华
网站建设 2026/5/25 8:16:37

LangChain RAG-MultiVector实现多向量检索文档

01. 多表征/向量索引多个维度记录信息 等同于为文档块生成 多个向量,支持的方法如下:把文档切割成更小的块:通过检索更小的块,但是查找其父类文档(ParentDocumentRetriever)。摘要:使用 LLM 为每…

作者头像 李华