第 06 课:RAG 语义搜索 第 06 课RAG 语义搜索配套代码仓库https://gitee.com/wang-zeyong111/lang-chain-lecture本课定位RAG 是企业级 LLM 应用最常见的模式之一。它解决的问题是模型不知道你的私有资料或者模型记忆可能过期、不可靠。RAG 通过检索相关资料把正确上下文提供给模型再让模型基于上下文回答。学习目标理解 RAG 的完整流程。掌握 Document、Splitter、Embedding、VectorStore、Retriever 的职责。能搭建一个小型本地知识库。理解 chunk size、overlap、k 值对效果的影响。学会要求答案提供引用来源。一、RAG 的基本流程RAG 全称 Retrieval-Augmented Generation检索增强生成。标准流程加载文档清洗文档文本切分生成 embedding写入向量数据库用户提问检索相关 chunk把 chunk 填入 prompt模型生成答案返回答案和引用。核心思想不要把所有资料都塞给模型而是检索最相关的资料。二、DocumentLangChain 中常用Document表示一段文档page_content文本内容metadata来源、标题、页码、URL、时间等元数据。元数据非常重要因为最终答案需要引用来源。如果你在入库时没有保存来源后面就很难生成可信引用。三、文本切分为什么要切分原始文档可能太长无法直接放入上下文检索需要更细粒度embedding 通常对短段落更有效模型回答只需要相关片段。常见参数chunk_size每块多长chunk_overlap相邻块重叠多少separator按段落、标题、句子或字符切分。经验FAQ、短制度chunk 可以小一些技术文档尽量按标题和段落切法律合同要保留条款完整性代码按函数、类、文件结构切。四、EmbeddingEmbedding 把文本转换成向量使相似语义在向量空间中更接近。注意embedding 模型决定检索质量上限中英文能力要匹配你的文档查询和文档要用同一个 embedding 模型embedding 需要成本和时间可以缓存文档更新后要重新索引相关内容。五、向量数据库向量数据库负责存储和检索 embedding。常见选择FAISS本地、轻量、适合实验Chroma本地开发友好Milvus开源向量数据库Pinecone、Weaviate、Qdrant生产常见选择Elasticsearch/OpenSearch适合混合检索。课程中为了不依赖外部服务先用关键词检索和教学用 HashEmbeddings 理解流程。真实项目要换成高质量 embedding 和合适的向量数据库。六、RetrieverRetriever 接收 query返回相关 Document 列表。它是 RAG 链中的关键接口。常见参数k返回多少条score threshold最低相似度metadata filter按部门、权限、时间过滤search type相似度、MMR、混合检索。好 RAG 的第一步是好检索。模型回答不好先看检索结果不要急着改 prompt。七、RAG Prompt 设计一个基础 RAG prompt 应该包含角色回答依据不知道时如何处理引用要求用户问题检索上下文。示例你是严谨的知识库助手。 只能依据给定上下文回答。 如果上下文不足请说“资料不足无法确认”。 答案必须列出引用来源。 问题{question} 上下文{context}八、引用来源引用是 RAG 可信度的关键。建议每个 chunk 都带文档 ID标题页码URL更新时间权限标签。答案中可以输出参考来源 [1] 员工手册第 3 页 [2] 售后政策2026-01 版九、RAG 质量评估至少检查检索是否召回正确文档检索顺序是否合理答案是否只基于上下文引用是否正确不知道时是否拒答chunk 是否过大或过小查询是否需要改写是否存在权限越界。十、常见失败原因文档切分破坏语义完整性。embedding 模型不适合中文或领域文本。k 太小导致漏召回。k 太大导致上下文噪声过多。没有 metadata filter用户看到无权限资料。prompt 没有约束“只能依据上下文”。没有评估集调参靠感觉。十一、自测清单我能画出 RAG 的完整流程。我知道 Document 的 metadata 为什么重要。我能解释 chunk size 和 overlap 的影响。我知道 retriever 返回的是 Document 列表。我能设计一个要求引用和拒答的 RAG prompt。十二、课后练习用 5 条自己的资料替换课程示例文档。尝试不同chunk_size和k。记录 3 个检索失败案例。为每条文档添加 metadata并让答案输出来源。

相关新闻

最新新闻

从0到1搭一个云原生大模型推理平台:FastAPI + vLLM + Kubernetes + Prometheus

从0到1搭一个云原生大模型推理平台:FastAPI + vLLM + Kubernetes + Prometheus

最近我做了一个小型的云原生大模型推理平台项目,主要目的是把大模型服务从“能调用”往“能部署、能治理、能观测”推进一步。 项目地址:https://github.com/ycx666994/llm-inference-platform 这个项目不是简单写一个接口去调用大模型 API&#xff0c…

2026/7/9 5:11:28
2026企业400电话服务商深度测评|运营商直营、低价代理、一级授权服务商全方位对比

2026企业400电话服务商深度测评|运营商直营、低价代理、一级授权服务商全方位对比

摘要:企业400电话选型难,核心原因是市场服务商分层严重,不同渠道的资质、线路、资费、售后差距极大。很多采购、运维人员仅凭价格决策,导致后期出现封号、涨价、售后失联等问题。本文从合规资质、资费体系、功能完整度、运维售后四…

2026/7/9 5:11:28
上海爱焙乐铝箔包装有限公司

上海爱焙乐铝箔包装有限公司

上海爱焙乐铝箔包装有限公司形成内销、外销、网销和经销协同发展的渠道结构,既服务 B 端连锁和经销商,也覆盖家庭消费场景。不同渠道需要不同的产品图片、规格说明、包装数和展示内容,公司可协助客户建立对应资料。在具体项目中,可…

2026/7/9 5:11:28
Unlock Music终极指南:浏览器本地一键解锁加密音乐

Unlock Music终极指南:浏览器本地一键解锁加密音乐

Unlock Music终极指南:浏览器本地一键解锁加密音乐 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://…

2026/7/9 5:11:28
Agentic AI:真正卡住你的不是概念,而是项目闭环

Agentic AI:真正卡住你的不是概念,而是项目闭环

聊《Agentic AI:真正卡住你的不是概念,而是项目闭环》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。 摘要 先把这篇文章的目标说清楚:看完之后,你应该能判断这件事…

2026/7/9 5:11:28
【大数据毕业设计】基于 Spark 计算的星云汽车销售趋势预测系统的设计与实现 基于大数据 Spark 的新能源汽车用户消费分析系统(源码+文档+远程调试,全bao定制等)

【大数据毕业设计】基于 Spark 计算的星云汽车销售趋势预测系统的设计与实现 基于大数据 Spark 的新能源汽车用户消费分析系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/9 5:06:27

月新闻