搭建RAG系统就这么简单:LangChain|RAG是什么?

来自工业界的知识库 RAG 服务(二),RagFlow 源码全流程深度解析 前面介绍过有道 QAnything 源码解析,通过深入了解工业界的知识库 RAG 服务,得到了不少调优 RAG 服务的新想法。因此本次趁热打铁,额外花费一点时间,深入研究了另一个火热的开源 RAG 服务RagFlow的完整实现流程,希望同样有所收获。首先依旧可以先从框架图入手,与常规的 RAG 架构进行一些比较可以看到右侧知识库被明显放大,同时最右侧详细介绍了文件解析的各种手段,比如OCR等,这些在常规的 RAG 中可能会作为一个不起眼的。 阅读详情

图片

RAG是什么

“RAG”(Retrieval-Augmented Generation)是一种结合了检索(Retrieval)和生成(Generation)的人工智能技术,它在大模型中被需要的原因包括:

知识丰富性: 大模型通过RAG可以访问大量的外部知识库,这有助于提高模型回答问题的准确性和深度。

实时信息获取: 由于大模型通常是在大量数据上预训练的,它们可能不包含最新的信息。RAG可以通过检索最新的数据来弥补这一点。

减少偏见和错误: 通过检索可靠的信息源,RAG有助于减少模型生成的偏见或错误信息。

提高泛化能力: RAG可以使模型在面对未见过的问题或领域时,通过检索相关信息来提高其泛化能力。

应对长尾问题: 对于那些低频或非常规的问题,RAG可以通过检索来提供更加准确的答案,而不需要模型在训练数据中直接学习到。

RAG是一种强大的技术,它通过结合检索和生成的优势,使得大模型能够提供更加准确、丰富和及时的信息。随着技术的发展,RAG在大模型中的应用将继续扩展,以满足不断增长的复杂性和多样性需求。

基础的RAG任务包含以下模块,包括:数据读取处理,Index,检索,prompt拼接,大模型推理。如下图所示:

图片

环境搭建

在搭建RAG系统中,我们将使用到以下包:

pip install langchain_community tiktoken langchain-openai langchainhub chromadb langchain

数据读取

我们使用 WebBaseLoader模块处理数据,它采用urllib从 Web URL 加载 HTML 并使用BeautifulSoup解析出文本。

import bs4
from langchain_community.document_loaders import WebBaseLoader
loader = WebBaseLoader(
    web_paths=("https://data.eastmoney.com/report/zw_stock.jshtml?encodeUrl=35LdZWW1ERIe7AWLlyVZFHptPNDUH2qN4gEfzUIhYsc=",               
               "https://data.eastmoney.com/report/zw_stock.jshtml?encodeUrl=OPw8X34UDWQq6g0u70KgHW6e5Ad8C5kc3TYV6t9BZsw=",               
               "https://data.eastmoney.com/report/zw_stock.jshtml?encodeUrl=OPw8X34UDWQq6g0u70KgHbx8/qX6gdD4f6j3/4IEWIA="    
    ),   
    bs_kwargs=dict(     
        parse_only=bs4.SoupStrainer(       
            class_=("detail-header", "newsContent")  # 根据网页信息不同调整需要保留的字段        
        )   
    ),
)
blog_docs = loader.load()  # 数据读取

文本切块

我们将文档拆分为 512 个字符的块,块之间有 128个字符的重叠。重叠有助于降低当前文本与其相关的上下文分离的概率。我们使用 RecursiveCharacterTextSplitter ,它将使用常用分隔符(如换行符)递归拆分文档,直到每个块的大小合适。

在这里插入图片描述

创建索引(Indexing)

这个模块首先创建一个向量模块向量模型可以随意选择,后面将介绍怎么选择向量模型,本篇采用了OpenAIEmbeddings();然后创建一个向量库,用于储存文本和文本向量:

在这里插入图片描述

创建检索器

构建一个检索器,用于通过向量相似度检索片段,检索召回是整个系统的关键,决定了结果的上限:

retriever = vectorstore.as_retriever(search_type="similarity", search_kwargs={"k": 6}))

# 测试一下检索的片段
retrieved_docs = retriever.invoke("东方财富营收是多少")
len(retrieved_docs)

创建模型

在这个部分,我们将创建两个模块,一是PROMPT模板,这个是根据任务来确定,相同的模型一个好的prompt会得到更好的结果;二是大模型模块,这个是整个系统的中央大脑,决定着整个系统是否智能,例子中使用的gpt-3.5-turbo

在这里插入图片描述

RAG生成流程

前面已经构建好了索引、检索器、PROMPT模板和大模型,现在我们需要将整个过程组合起来:
在这里插入图片描述

至此,我们完成了一个简单的RAG系统搭建,根据PROMPT的不同,我们可以针对我们的知识库做不同的任务,可以是问答、也可以是创作;通过知识库的辅助,我们的结果会更加的精确。

如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用。

好了,这就是我今天想分享的内容。如果你对大模型应用感兴趣,别忘了点赞、关注噢~

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
LangChain实现RAG:从零搭建可落地的Agentic RAG系统 RAG(检索增强生成)是将大语言模型与私有知识结合的核心技术范式,其本质是在LLM固有知识之外,通过向量检索动态注入上下文。实现RAG需跨越文档加载、语义切分、向量嵌入、近似最近邻搜索与提示工程五大技术环节,其中检索质量与生成可控性直接决定业务可用性。LangChain作为主流编排框架,通过组件化抽象大幅降低工程门槛,尤其以Agent模式支持动态决策与工具扩展,显著提升错误容忍度与调试效率。本文聚焦生产级RAG落地,覆盖Chroma向量库选型、中文chunk_size参数推导、带清洗的检索工具设计等关键实践 阅读详情

相关推荐

5分钟搭建私域RAG 系统:DeepSeek-R1 + LangChain + Ollama

目标是在本地运行一个 RAG 系统,能够处理 PDF 文档,保障数据隐私,并能高效回答与文档内容相关的问题

泉坡吴彦祖的博客 3015

VisRAG解读:纯视觉的RAG(检索增强生成)模型,看这篇就够了

超详细的VisRAG解读

OOODDD1212的博客 5194

RAG理论到实践:高级、模块化RAG在AI工程架构中的行业通用解决方案与实施策略(Advanced RAG✨)

RAG理论到实践:高级、模块化RAG在AI工程架构中的行业通用解决方案与实施策略(Advanced RAG✨)

丨汀、的博客 674

VisRAG:清华大学&面壁智能提出了一种新的RAG思路,效果提升明显

VisRAG是一种新型视觉检索增强生成系统,由VLM驱动的检索器VisRAG-Ret和生成器VisRAG-Gen组成。如上图(左边)所示,TextRAG 通常使用基于文本的单元进行检索和生成。右边是 VisRAG,与传统RAG框架利用文本片段进行检索和生成不同,VisRAG通过文档图像来保留全部信息,确保数据的完整性。

2401_85379281的博客 2614

RAG应用的典型工作流程

在总结中,我们看到了 RAG(检索增强生成)系统的快速进步,这包括了能够定制并推动 RAG 在多个领域性能和实用性进一步提高的先进范式的开发。例如,通过适应性增强检索技术(AAR(opens in a new tab)),REPLUG(opens in a new tab),和UPRISE(opens in a new tab)等方式来实现。这些工具和服务的开发,不仅推动了 RAG 技术的应用范围扩展,也为研究人员和开发者提供了更多的可能性,使他们能够更容易地探索和实现复杂的 RAG 应用。

具身机器人和通用AI 1809

基于FPGA的DDS信号发生器

之前的博客讲到了DDS的基本原理,现在用Verilog代码实现DDS,能够产生四种波形,方波,三角波,正弦波,锯齿波,用按键来控制频率和选择波形。其中按键消抖模块来自小梅哥的FPGA自学笔记设计与验证这本书。 module DDS_Module( Clk, Rst_n, EN, Fword, Key1, Pword, DA_Clk, DA_Data ); input Clk...

qq_43534451的博客 9950

保姆级指南:基于 LangChain 搭建 RAG 系统全流程

RAG(检索增强生成)系统通过1.2 技术栈选型建议二、数据准备与预处理。

shuizhudan223的博客 3955

将一维数据(序列)转化为二维数据(图像)的方法汇总GAFS, MTF, Recurrence plot,STFT

虽然深度学习方法(1D CNN, RNN, LSTM 等)可以直接处理一维数据,但是当前的深度学习方法主要还是处理二维结构数据的,特别是在计算机视觉CV以及自然语言处理NLP领域,各种各样的方法层出不穷。因此,如果能够将一维序列数据转化为二维(图像)数据, 则可以直接结合CV以及NLP领域的方法,是不是很有趣! GAF, GASF, GADF, MTF, Recurrence Plot, STFT, 短时傅里叶变换

MasterQKK 5万+

从零到一:用LangChain搭建房产RAG系统

这是我的第一个完整RAG系统Demo。用一周时间从零开始,搭建了一个房产推荐AI系统。 系统涉及向量表示学习、检索增强生成(RAG)、提示工程、对话管理、LCEL编程范式等核心知识。 核心流程:用户提问 → 向量化 → 检索相关房源 → LLM生成答案 → 保存对话历史。 技术栈:LangChain + Chroma + DashScope + FastAPI + Streamlit。

官能的博客 1313

EtherCAT-1 技术概述

1.EtherCAT简介①开放的技术EtherCAT全称EtherNet Control Automation Technology,是由德国倍福(Beckhoff)公司提出的一种实时以太网技术。EtherCAT是一种开放但不开源的技术,意味着您可以任意使用这项技术,但若要进行相关设备的开发,则需要向倍福公司获取相关授权。②快速性相比传统现场总线,EtherCAT的数据传输速率有了极大的提升,可选10Mbit/s或100Mbit/s,甚至依托补充

tianya_xuan的博客 3543

ADC INL&DNL测试方法和实例

本文介绍了一种可操作的ADC INL和DNL的测试方法--直方图法(也称码密度法)。并实际使用该方法测试了两款芯片的ADC INL和DNL

APTCHIP的博客 1万+

从零开始学 langchain :如何搭建最小的 RAG 系统?

RAG 可以说是 23 年以来到现在,最为火热的大模型应用技术了,很多人都有了很多经典的研究。而对于新人来说,有些代码十分复杂,导致只看表象并不理解其原理。

瓦罗兰特顶级C位的博客 912

从零搭建AMESim与Matlab/Simulink联合仿真环境(2024版软件配置详解)

本文详细介绍了2024年最新版AMESim与Matlab/Simulink联合仿真环境的搭建与配置方法。从软件安装顺序、路径设置到编译器配置,逐步指导如何实现高效联合仿真,特别强调了版本兼容性和环境变量设置等关键细节,帮助工程师快速解决常见问题并优化仿真性能。

weixin_42538752的博客 735

保姆级指南:基于LangChain 搭建 RAG 系统全流

同时课程详细介绍了。

jennycisp的博客 1329

18、近端策略优化(PPO)算法详解

本文详细介绍了近端策略优化(PPO)算法的理论基础、算法流程、实现方法及实际应用。PPO作为当前最受欢迎的策略梯度算法之一,具有易于实现、计算成本低、样本效率高和性能优越等优点。文章对比了基于自适应KL惩罚和基于裁剪目标的两种PPO变体,重点解析了裁剪目标函数的设计原理及其在Actor-Critic框架下的实现方式,并通过Atari Pong游戏展示了完整的训练配置与流程。最后总结了PPO的优势、适用场景及未来发展方向,为强化学习研究者和实践者提供了全面的参考。

mongodb5scout的博客 180

TIA博途WINCC的触摸屏VB脚本入门指南(嵌入式)

通过编写事件处理程序,您可以响应触摸屏元素的各种事件,并实现自定义的功能。本文将为您提供TIA博途WINCC触摸屏VB脚本的入门指南,帮助您了解基本的脚本编写和嵌入式开发。假设我们有一个名为"Button1"的按钮元素,当用户点击该按钮时,触发相应的事件处理程序,并在触摸屏上显示一条消息。然后回到触摸屏界面编辑器,在按钮元素的属性窗口中找到"按下"事件,并选择刚才创建的脚本文件作为事件处理程序。现在,当用户点击按钮时,触摸屏将执行相应的事件处理程序,并显示一条消息框,内容为"按钮被点击了!

CodeSageX的博客 4418

RexUniNLU与LangChain集成:RAG系统搭建

本文介绍了基于星图GPU平台自动化部署RexUniNLU零样本通用自然语言理解-中文-base 二次开发构建by113小贝镜像的实践方法,结合LangChain框架实现RAG系统中非结构化文本的实体、关系与事件抽取,显著提升知识提取与智能问答的精准度,适用于AI应用开发中的文档结构化处理场景。

weixin_35906794的博客 979

LangGraph 实战教程:搭建一个智能办公多Agent协作平台

只存储必要的信息:不要把所有的原始数据都存储在状态中,比如销售数据可以存储在数据库或向量数据库中,状态中只存储数据的 ID 或摘要。使用类型提示:避免类型错误,提高代码的可维护性。支持增量更新:LangGraph 默认支持状态的增量更新(通过reduce函数),比如messages列表可以通过追加新消息的方式更新,而不是每次都重新创建整个列表。Normal Edge 的定义非常简单,只需要在StateGraph对象(稍后会详细讲解)上调用add_edge# 创建一个 StateGraph 对象。

SuperAGI2025 221

Qwen3-VL与LangChain集成:RAG系统搭建

是基于 Gradio 构建的轻量级可视化推理界面,专为 Qwen3-VL 系列模型设计,支持本地或云端一键部署。它内置了模型权重,用户无需手动下载模型即可快速启动服务。

weixin_29867767的博客 1107

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LangChain 实战案例:使用 RAG 技术搭建商品快速查询系统

为了能够实现向量数据库的构建与应用,我们首先需要知道几个小的背景和流程:以上就是对RAG的一些简介,假如希望对创建一个完整的 RAG 系统有更多了解,可以参考我之前基于吴恩达DeepLearning.AI里“LangChain:Chat with your data”写的课程来了解更多信息!根据上面的信息我们其实已经对RAG系统有一个简单的了解了,那么下面我们就可以来更深入的看看如何利用一份简单的商品文档来利用进行构建属于我们自己的数据库问答系统。大家可以创建一个名为“商品详情.csv”的文件,并将下面的内

python12345678_的博客 818

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

LangChain + Milvus:从零搭建检索增强生成(RAG)系统

向量存储将文本块通过嵌入模型转化为高维向量,并存储在数据库中。后续的检索通过计算用户问题与存储向量的相似度,返回最相关的文本块。在本例中,我们使用。

xxue345678的博客 2105

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

端到端 RAG 实战:用 LangChain 搭建 PDF 问答系统

前 6 天我们逐一学习了 RAG 的每个核心组件: * Day01:RAG 整体架构 * Day02:文本分块(Chunking)

m0_59235245的博客 402

大模型应用技术:从零开始学 langchain 之搭建最小的 RAG 系统

RAG 可以说是 23 年以来到现在,最为火热的大模型应用技术了,很多人都有了很多经典的研究。而对于新人来说,有些代码十分复杂,导致只看表象并不理解其原理。今天,就利用 langchain 和大家一起搭建一个最简单的 RAG 系统,一起来学习一下吧。

Y525698136的博客 381

LangChain RAG系统构建指南:从知识库搭建到生产级部署

检索增强生成(RAG)作为大语言模型应用的核心技术,通过将外部知识库与生成式AI相结合,有效解决了模型在处理专业领域和实时数据时的知识局限问题。其技术原理基于信息检索与文本生成的协同工作,首先从专用知识库中检索相关文档片段,然后将这些上下文信息与用户问题一并提交给LLM进行答案生成。这种架构不仅显著提升了回答的准确性,还大幅降低了模型产生幻觉的风险。在实际工程实践中,RAG系统包含文档加载、文本分割、向量化、向量存储、检索和生成等多个关键环节。以LangChain框架为例,它提供了构建知识库和实现RAG流程

cqwf95925的博客 315
上一篇: RAG还是微调?微软出了一份特定领域大模型应用建设流程指南
下一篇: RAG:Langchain中使用自己的LLM大模型
AI_小站
博客等级 码龄3年 6255粉丝 1152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值