本系列分享前八篇分别讲述了
- LangChain&LangGraph的核心原理
- LangChain接入大模型的基本方法
- LangChain核心概念——链
- LangChain记忆存储与多轮对话机器人搭建
- LangChain接入工具基本流程
- LangChain Agent API快速搭建智能体
- LangChain多智能体浏览器自动化
- LangChain接入MCP实现流程
上篇文章分享了LangChain便捷接入MCP的完整实现流程。当今大模型应用领域能和Agent开发平起平坐的应用形式当属RAG检索增强生成知识库系统。RAG知识库系统可以将私有知识(例如私有文档等)存储在数据库中,为大模型提供关键的上下文逻辑支持,确保大模型回答准确,是大模型减少“幻觉”的关键。RAG技术被广泛应用于智能客服问答、企业信息处理等各个关键领域。作为Agent应用开发的“扛把子”,LangChain对RAG开发也提供了良好的支持。本期内容笔者将手把手分享如何利用LangChain从0到1开发小型PDF RAG系统。阅读本篇文章前希望大家已经了解RAG的基础概念,不太了解的读者可以阅读笔者的RAG技术专栏,掌握RAG的基本执行流程。
本系列分享是笔者结合自己学习工作中使用LangChain&LangGraph经验倾心编写,力求帮助大家体系化快速掌握LangChain&LangGraph AI Agent智能体开发的技能!大家感兴趣可以关注笔者掘金账号和系列专栏。更可关注笔者同名微信公众号: 大模型真好玩, 每期分享涉及的代码均可在公众号私信: LangChain智能体开发获得。
本期实战内容我们会通过前端界面,结合框架与向量嵌入服务,实现一个轻量化的RAG智能问答系统。该系统支持上传多个文档,系统将自动完成文本提取、分块、向量化,并构建基于的检索数据库。用户可以在前端页面输入任意问题,系统会调用模型对进行语义理解和回答生成。
项目的第一步还是要安装我们所需环境,在之前创建的虚拟环境中执行如下命令安装相关依赖:

- 引入相关依赖,编写如下代码。不借助库从0到1搭建RAG需要大量的代码和开发时长,LangChain的出现大大降低了智能体RAG系统的开发难度。可以看到LangChain对RAG系统的文本分块、分块向量存储、向量检索、大模型生成等基本环节都作了成熟的封装,用户只需设计组织逻辑并调用相应的api即可快速完成RAG系统开发。 创建文件并写入如下代码:
- 设置向量模型和大语言模型,向量模型使用了阿里云百炼提供的模型,使用前需要注册阿里百炼的api_key。大语言模型使用模型,也需要申请深度求索的api_key。申请api_key的详细操作大家可以参考我的文章【最新整理】全网免费接入DeepSeek-R1平台清单,包含网站和API使用(建议收藏)
- 利用读取上传的PDF文档内容并将其切分成文本块。每个文本块包含1000个词,相邻两个文本块之间有200个词重合。
我们用图片直观展示文本切分的流程:


- 文本切分后的文本块需要使用转换并存入向量数据库中,文本块向量用来与用户输入的问题进行关联性匹配并加入到模型提示词的上下文中扩展大模型相关知识边界。LangChain存储文本块向量的操作十分简单,代码如下:
我们用图片表示文本块向量转化和存储的流程:

- 构建知识库回答逻辑链。RAG检索增强系统的核心原理是大模型根据用户提问,从文本块向量库中查找与问题相似度高的文本向量将其添加到上下文中,由智能体完成“读取问题->查询->补充上下文->回答”的流程。大家来回忆一下构建LangChain构建智能体的三要素:工具、模型、提示词。
- 工具: 使用LangChain和构建内容检索工具
- 大模型: 前面代码构建的llm, 本次使用的是模型
- 提示词: 使用构建提示词,保留历史占位信息和工具内容占位信息
具体代码如下:
- 完成核心逻辑代码的编写后,下一步我们编写主界面逻辑。本部分使用库快速构建系统UI。主界面包含标题,数据库管理,输入框(只有当数据库存在才能提问),侧边栏包含PDF上传器和提交按钮(处理上传的PDF->分片->向量化->存储) 等。这部分内容不是我们的重点就不加赘述,的语法类似我们编写文档,大家可以快速阅读了解。
- 在命令行激活环境,执行运行脚本,脚本运行成功会自动在开启服务,用户可打开浏览器访问。
Agent 智能体
我们这边上传了一份名为并点击提交并处理,系统提示我们文档处理完成被切分为37个切片。

输入问题:“请问DeepSeek-R1部署有哪些方案”, 输入问题后,因为Agent构建时参数我们可以看到后台日志会输出对文档的检索结果,最后将检索结果作为上下文给出答案:

核对系统给出的回答和我们的内容文档,确定一致,一个完整的RAG系统就构建完成了!大家可以在自己本地运行并上传多份文档进行实测~


完整的项目代码大家可关注笔者同名微信公众号: 大模型真好玩, 并私信: LangChain智能体开发获得。
本期分享我们通过前端界面,结合框架工具与向量模型服务、大模型服务,从0到1实现了轻量化的RAG知识库系统,支持上传多个PDF文档,系统将自动完成文本提取、分块、向量化,并构建基于 FAISS 的检索数据库。用户随后可以在页面中输入任意问题,系统会调用大语言模型(如 DeepSeek-Chat)对 PDF 内容进行语义理解和回答生成。LangChain应用开发的热门方式, 我们已经分享完成,下一期通过LangChian AI数据分析助手的综合实战进一步巩固我们所学内容,随后我们就即将步入LangGraoh分享的篇章啦!
本系列分享预计会有20节左右的规模,保证大家看完一定能够掌握LangChain&LangGraph的开发能力,大家感兴趣可关注笔者掘金账号和专栏,更可关注笔者的同名微信公众号:大模型真好玩, 本系列分享的全部代码均可在微信公众号私信笔者: LangChain智能体开发 免费获得。
发布者:Ai探索者,转载请注明出处:https://javaforall.net/243720.html原文链接:https://javaforall.net
