让大模型读懂你的私有文档:一文讲透 RAG 检索增强生成与Agent智能体落地

让大模型读懂你的私有文档:一文讲透 RAG 检索增强生成与Agent智能体落地 RAG即Retrieval Augmented Generation检索增强生成被誉为当前大模型落地的“黄金架构”。它的核心逻辑非常简单却高效先检索私有文档后生成。在用户提问时系统先去私有知识库中搜索相关片段将这些片段作为“上下文”连同问题一起喂给大模型。这样大模型就能基于事实回答问题极大地减少了幻觉提升了专业度。LangChain 重塑 RAG一在 LangChain 生态中RAG 的核心逻辑通过Retriever接口完美落地。外部数据的接入点LangChain 提供了丰富的Retriever integrations让你能轻松连接各种数据源无论是本地的 PDF/Markdown 文档还是外部的 API 服务。打破知识边界通过调用这些检索器大模型不再受限于训练数据的截止时间或通用知识库它获得了动态的“外部记忆”能够基于你提供的私有数据回答问题从而真正实现 RAG 的价值——精准、可控、无幻觉。核心依赖库安装pip install langchain-text-splitters faiss-cpu langchain_community pip install dashscopelangchain-text-splitters文本切割成小块faiss-cpu向量数据库实现高效检索langchain_community是连接 LangChain 核心与外部生态的桥梁dashscope: 通义千问系列的官方 Python SDK实战演练构建 Agentic RAG 系统二本案例将构建一个**“校园学生手册问答助手”**。输入一份student.mdMarkdown 格式的学生手册。能力用户提问学校纪律等内容系统自动检索手册内容并回答。架构DeepSeek (LLM) DashScope (Embedding) FAISS (Vector DB) LangChain Agent。2.1通过API调用DeepSeek【DeepSeek作为推理模型】import os from dotenv import load_dotenv load_dotenv(overrideTrue) # 初始化 DeepSeek 大模型 (推理大脑) from langchain_deepseek import ChatDeepSeek model ChatDeepSeek(modeldeepseek-chat,api_key os.getenv(DEEPSEEK_API_KEY)) question 你好请你介绍一下你自己。 result model.invoke(question) print(result.content)2.2 使用通义千问的Embeddings模型将自然语言转化成词向量from langchain_community.embeddings import DashScopeEmbeddings #初始化 DashScope Embedding (文本向量化) embed DashScopeEmbeddings( modeltext-embedding-v3, # 使用通义千问 text-embedding-v3 模型 dashscope_api_keyos.getenv(DASHSCOPE_API_KEY) ) # 简单测试向量化 text 你好这是一个测试。 query_result embed.embed_query(text) print(query_result[:5]) # 打印前5个维度,输出如下 #[-0.08589579164981842, 0.015449581667780876, -0.09188129007816315, -0.05301441624760628, -0.04971073195338249]2.3 文本数据处理与向量库构建读取本地学生手册文档按 Markdown 标题智能切分# 读取文档 file_path student.md with open(file_path, r, encodingutf-8) as f: md_content f.read() md_content #按标题层级切割 (#, ##)保留结构信息 from langchain_text_splitters import MarkdownHeaderTextSplitter headers_to_split_on [ (#, Header 1), (##, Header 2) ] markdown_splitter MarkdownHeaderTextSplitter(headers_to_split_onheaders_to_split_on) md_header_splits markdown_splitter.split_text(md_content) md_header_splits分割结果如下可见按照标题分成了5份创建并保存 FAISS 向量库from langchain_community.vectorstores import FAISS vector_store FAISS.from_documents(md_header_splits, embeddingembed) vector_store.save_local(student_handbook_db)此时在本地会出现Faiss向量文件创建检索器 (Retriever)# 将 FAISS 向量存储转换为一个 retriever检索器并为该检索器设置一些搜索相关的参数。k1 表示检索时返回 最相似的 3 个文档 retriever vector_store.as_retriever(search_kwargs{k: 3})2.4 封装工具与构建 Agent 这是让系统变“聪明”的关键。我们将检索功能封装为 Tool并告诉 Agent 何时使用它。from langchain.tools import tool #定义检索工具 tool(response_formatcontent_and_artifact) def retrieve_context(query: str): 当需要查询学生手册、校规、宿舍管理等具体文档内容时使用此工具。 retrieved_docs vector_store.similarity_search(query, k2) serialized \n\n.join( (fSource: {doc.metadata}\nContent: {doc.page_content}) for doc in retrieved_docs ) return serialized, retrieved_docs prompt 你是一名乐于助人的校园助手。 - 当用户提问涉及入学、考核、成绩、宿舍、校园生活等具体规章时**必须**调用 retrieve_context 工具检索文档后回答。 - 对于闲聊、通用常识或其他无关话题直接利用你的内部知识回答**不要**调用工具。 #创建 Agent from langchain.agents import create_agent tools [retrieve_context] agent create_agent(model, tools, system_promptprompt) #发起测试 response agent.invoke({messages: [{role: user, content: 请问学校宿舍如何管理}]}) response response[messages][-1].content运行结果解析当你运行上述代码提问“宿舍如何管理”时后台会发生以下流程思考Agent 分析用户意图发现涉及“宿舍管理”匹配到 Prompt 中的规则。行动Agent 决定调用 retrieve_context 工具传入 query。检索工具内部调用 FAISS在向量库中搜索相似片段返回具体的宿舍管理规定文本。生成Agent 结合检索到的真实文本组织语言输出最终答案。这就是Function Calling驱动的Agentic RAG全流程。 总结通过本文我们理清了 LangChain 中各组件的职责亲手实现了一个具备“思考 - 检索 - 回答”闭环的RAG智能体。LangChain 提供了标准化的RAG组装方式FAISS解决了海量数据的快速记忆问题Agent机制则让大模型学会了“按需索取”不再盲目生成。你可以将student.md替换为公司的员工手册、产品说明书或法律条文瞬间拥有一个懂业务、会查资料的 AI 专家。这里给大家精心整理了一份全面的AI大模型学习资源包括AI大模型全套学习路线图从入门到实战、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等资料免费分享扫码免费领取全部内容1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 2026行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。7. 资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容