本文介绍了RAG检索增强生成技术一种结合信息检索和文本生成的方法能有效提升大模型回答的时效性与准确性。文章详细阐述了RAG的优势如解决知识时效性问题、减少模型幻觉、提升专业领域回答质量等。同时通过LangChain和Sentence Transformers等工具展示了从基础RAG到高级RAG包括问题重写、文档检索与重排序以及Agent RAG的实现过程。最后文章总结了RAG开发中的三个关键阶段数据准备、知识检索和答案生成为读者提供了全面的RAG技术指南。1、 什么是 RAG RAGRetrieval-Augmented Generation检索增强生成是一种结合信息检索Retrieval和文本生成Generation的技术RAG技术通过实时检索相关文档或信息并将其作为上下文输入到生成模型中从而提高生成结果的时效性和准确性。用户输入检索信息 ——〉 大模型输入 ——〉大模型生成RAG 的优势是什么解决知识时效性问题大模型的训练数据通常是静态的无法涵盖最新信息而RAG可以检索外部知识库实时更新信息减少模型幻觉通过引入外部知识RAG能够减少模型生成虚假或不准确内容的可能性提升专业领域回答质量RAG能够结合垂直领域的专业知识库生成更具专业深度的回答生成内容的溯源可解释性2、 Embedding在人工智能领域向量表征Vector Representation是核心概念之一。通过将文本、图像、声音、行为甚至复杂关系转化为高维向量EmbeddingAI系统能够以数学方式理解和处理现实世界中的复杂信息。这种表征方式为机器学习模型提供了统一的“语言”。将文本转成一组 N 维浮点数即文本向量又叫 Embeddings向量之间可以计算距离距离远近对应语义相似度大小3、 RAG入门到精通3.1 Naive RAG基础RAGQuery - 检索 - Prompt - LLM - 回复langchain实现langchain 0.3.27 langchain-community 0.3.27 langchain-core 0.3.79 langchain-huggingface 0.3.1 langchain-mcp-adapters 0.1.13from langchain_community.document_loaders import PyPDFLoader from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain_core.vectorstores import InMemoryVectorStore # 解析PDF file_path ./data/考核办法.pdf loader PyPDFLoader(file_path) docs loader.load() # 拆分文档 text_splitter RecursiveCharacterTextSplitter( chunk_size200, chunk_overlap50, add_start_indexTrue ) all_splits text_splitter.split_documents(docs) # 索引建立 vector_store InMemoryVectorStore(embeddings) ids vector_store.add_documents(documentsall_splits) #检索 results vector_store.similarity_search(客户经理每年评聘申报时间是怎样的) print(results[0])3.2 Advanced RAG增强RAGUser Query 用户查询↓Query Rewrite 问题重写↓Vector Retrieval 问题检索↓Rerank 重排序↓Context 内容生成↓LLM Answer1加载RAG向量数据库转换成检索工具2查询重写from langchain_openai import ChatOpenAI from langchain.prompts import ChatPromptTemplate from langchain.schema.output_parser import StrOutputParser llm ChatOpenAI( api_key os.getenv(DASHSCOPE_API_KEY), base_url https://dashscope.aliyuncs.com/compatible-mode/v1, model deepseek-v3 ) rewrite_prompt ChatPromptTemplate.from_template( Rewrite the user query to be better for document retrieval. User query: {query} Rewritten query: ) query_rewriter rewrite_prompt | llm | StrOutputParser()3检索文档与重排序from sentence_transformers import CrossEncoder docs retriever.invoke(rewritten_query) #使用重排序模型 model_dir /model/BAAI/bge-reranker-large reranker CrossEncoder(BAAI/bge-reranker-large, cache_foldermodel_dir) pairs [[query, d.page_content] for d in docs] scores reranker.predict(pairs) reranked_docs [ doc for _, doc in sorted( zip(scores, docs), keylambda x: x[0], reverseTrue ) ] top_docs reranked_docs[:3]4内容生成3.3 Agentic RAGAgent RAGUser Question│▼Agent (LLM Reasoning)│┌───┴───────────────┐│ │▼ ▼Use Retriever Direct Answer│▼Retrieve Docs│▼LLM Generate Answer1构建检索 工具Toolfrom langchain.tools import tool tool def search_knowledge(query: str) - str: Search information from the knowledge base docs retriever.invoke(query) return \n.join([d.page_content for d in docs])2创建Agentlangchain0.3 与 langchain1.x创建Agent方式不同from langchain.agents import AgentExecutor, create_react_agent from langchain.agents import initialize_agent, AgentType from langchain import hub tools [search_knowledge] prompt hub.pull(hwchase17/react) agent create_react_agent( llm, tools, prompt ) agent_executor AgentExecutor( agentagent, toolstools, verboseTrue )3运行 Agentic RAGRAG开发中三个关键阶段1数据准备这是RAG的基础决定了检索的“原料”质量。数据清洗与预处理移除特殊字符、统一编码、纠正OCR错误。如果原始数据包含大量噪声如网页导航栏、PDF页眉页脚检索时容易引入干扰。文档解析与分块分块策略块太大检索精度下降且容易塞入无关信息块太小上下文缺失语义不完整。常见的策略包括按语义段落、章节切分、重叠切分Overlap或基于文档结构Markdown层级的智能切分。元数据附加为每个块添加来源、时间戳、章节标题、文件名等元数据。这在后续检索中可以进行过滤并提升答案引用的准确性。Embedding模型选择针对特定领域选择或微调Embedding模型比使用通用模型能显著提升检索的召回率。2知识检索这一阶段的目标是在海量数据中快速、精准地找到与问题最相关的上下文。检索范式向量检索利用语义相似度适合处理同义词、多轮转述等模糊匹配问题。混合检索结合向量检索语义和关键词检索是当前工业界的主流做法。检索后处理重排序初检可能召回Top-10个块但大模型的上下文窗口有限。通过一个精排模型如Cross-Encoder对这些块进行重新打分筛选出最相关的Top-K通常是5个能极大提升答案的准确性。3答案生成这是RAG的最后一步也是用户直接感知价值的一环。提示词工程需要明确指令如“严格基于以下上下文回答如果上下文没有提及请直接说不确定”以减少大模型产生幻觉或过度发挥的风险。同时要求在回答中引用来源如“根据[文档A]第3页…”以增强可信度。对话与记忆管理在多轮对话场景下需要考虑将历史对话压缩或摘要再与当前问题一起进行检索。否则当用户问“那它的价格呢”时系统无法知道“它”指代什么。Agentic RAG在复杂场景下单一的向量检索可能不够。可以引入智能体Agent自主决策是先查数据库还是调用API应用程序接口或者进行多跳检索Multi-hop即先检索出A文档从A文档中提取实体再去检索B文档。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取