深入 RAG:检索增强生成系统的工程实践

举报
yd_234328856 发表于 2026/10/13 22:59:30 2026/10/13
【摘要】 大模型有两个硬伤:知识截止于训练时间,且容易"一本正经地胡说"。RAG(检索增强生成)正是为解决这两点而生——它把外部知识库接入生成流程,让模型"先查后答"。一、RAG 的核心链路一条完整的 RAG 链路包含四个阶段:索引、检索、重排、生成。索引(Indexing):把文档切分成 Chunk,经嵌入模型编码为向量后存入向量数据库。检索(Retrieval):用户提问同样编码为向量,通过相似度...

大模型有两个硬伤:知识截止于训练时间,且容易"一本正经地胡说"。RAG(检索增强生成)正是为解决这两点而生——它把外部知识库接入生成流程,让模型"先查后答"。

一、RAG 的核心链路
一条完整的 RAG 链路包含四个阶段:索引、检索、重排、生成。

索引(Indexing):把文档切分成 Chunk,经嵌入模型编码为向量后存入向量数据库。
检索(Retrieval):用户提问同样编码为向量,通过相似度(余弦/内积)召回 Top-K 片段。
重排(Rerank):用 Cross-Encoder 对召回结果精排,把真正相关的内容提到前面。
生成(Generation):把筛选后的上下文与问题拼成 Prompt,交给大模型总结作答。
二、最容易被忽视的坑:Chunk 策略
很多人以为换更强的模型就能提升效果,但 RAG 的质量70% 取决于检索。而检索的第一步就是切分:

固定长度切分:简单,但容易割裂语义。
递归字符切分:按段落、句子层级递归,兼顾结构与长度,是较稳妥的默认选择。
语义切分:用嵌入相似度判断"话题是否转换",切片更连贯,但成本更高。
实践中建议:Chunk 之间保留 10%~20% 的重叠(Overlap),避免关键信息被切在两块之间而丢失。

三、进阶优化方向
混合检索(Hybrid Search):向量检索擅长语义,关键词检索(BM25)擅长精确匹配,两者融合能显著提升召回率。
查询改写:用户口语化提问时,先让模型改写成规范查询,再检索。
上下文压缩:只保留与问题强相关的句子,减少无关噪声对大模型的干扰。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。