如何用好RAG?一份企业落地指南与原理深解

197 阅读6分钟

在大模型迅速发展的当下,RAG -- Retrieval-Augmented Generation成为企业构建智能问答、知识助理和自动化咨询系统的首选框架。但“RAG很强大”≠“RAG很好用”。很多企业在实践RAG时面临落地困难,归根结底,是没有真正理解RAG的核心原理与工程挑战。

本文将围绕以下五个方面深入解析如何用好RAG:

  1. 为什么直接使用企业文件效果很差?
  2. 如何构建高质量的知识库?
  3. Excel管理知识切片的技巧
  4. 检索准确率为何低?如何优化Query?
  5. 如何利用Embedding & Rerank模型提升性能?

一、用RAG面对的核心挑战:知识切片不是你想切就能切

❌ 误区:把PDF、Word、PPT导进知识库就能用

很多团队希望将企业文档“一键导入”作为知识源,实际上效果极差。这是因为:

  • 文档往往结构松散,主题跳跃,不适合检索;
  • 用户提问无法精准对应原文内容;
  • RAG本质上是检索 + 生成,而检索部分高度依赖结构化知识切片

正确认知:70% 的工作量在知识切片。

知识切片的目标不是切,而是重构知识 —— 你需要从用户问题出发,理解哪些内容是关键,再把文档拆解成有意义的片段,甚至重写成“问题+答案”对。这一过程不是一个简单步骤,而是一个贯穿整个产品生命周期的反复迭代过程。

📌 举例:

你有一份讲述公司加班制度的PDF,如果用户问:“我晚上加班到10点,公司是否需要支付加班工资?”
文档中可能写的是:“公司员工晚于20:00下班,视为加班,需登记并获得批准。”
你需要将它重写成一条问答对

问:晚上加班到10点,公司是否支付加班工资?
答:如晚于20:00下班,视为加班。需登记并获得批准,方可享有加班工资。

二、构建RAG知识库的核心原则

✅ 核心思路:从用户问题出发,而不是从文档出发!

构建一个有效的RAG知识库,需要以下步骤:

  1. 明确场景与目标:哪些场景是RAG能解决的?哪些问题用户会反复问?
  2. 整理典型问题:为每个场景总结“用户最可能提出的核心问题”;
  3. 反向映射参考内容:从文档中找到支撑这些问题的内容;
  4. 构建问答对:如果能明确用户问题,最好重写成QA形式;
  5. 无法QA的再切片:对信息不够明确或问题范围模糊的,再以摘要或片段形式处理。

💡 结论:不是“怎么切文档”,而是“用户会问什么,我们该怎么回答”。

三、Excel管理知识库:简单、透明、可迭代

✅ 为什么推荐用Excel?

Excel是一种结构化且易于维护的方式,便于版本控制与团队协作。一个高质量的知识库Excel应包含:

  • 标签(场景、主题等)
  • 标题(问题)
  • 内容(答案或片段)
  • 元数据(来源文档名、页码、作者、创建时间等)

📌 示例表格结构:

标签问题回答内容来源文件创建时间
加班制度晚上加班到10点,公司支付加班工资吗?晚于20:00下班视为加班,需登记并获得批准。policy.pdf2023-09-01

此外,标记哪些字段进入向量数据库(如标题+回答)也很关键,以确保Embedding检索的内容是有价值的。

📌 图片文件如何处理?

对于图片、扫描件、图表等非文本内容,建议:

  • 使用多模态模型生成描述;
  • 转为图片处理逻辑后,仍以问答或描述形式整理入Excel;
  • 对合并单元格、复杂表格,建议截图 + 图片描述。

四、如何优化RAG的Query处理?

很多人忽略了“用户提问”这一环节对RAG性能的影响。

✅ 关键点:

  1. 默认使用用户最后一轮提问作为Query;
  2. 多轮对话时建议引入对话上下文(可以用摘要方法拼接历史);
  3. 部分问题无法穷举时,要改写检索词。

📌 示例:

用户问:“从陆家嘴打车去虹桥机场多少钱?”

如果知识库只有“打车计费规则”作为片段,很难匹配该问题。
此时需要对用户Query进行结构化转换,例如:

原问题:从陆家嘴到虹桥机场多少钱?
改写为检索词:打车费用 + 城市 + 起终点(结构化信息)

✅ 提升检索准确率方法:

  1. 改造知识库结构(见上文 Excel管理);
  2. 改造检索词逻辑:加入地理信息、实体识别等技术进行“Query重写”。

五、Embedding & Rerank 是检索质量的关键

🔍 Embedding 原理简述:

  • 将一段文字转换为向量(高维数字表示);
  • 向量之间的“夹角”或“距离”代表两段文字的语义相似度;
  • 用来在海量文本中“以文找文”。

✅ 高质量Embedding模型的训练方法:

使用大量三元组训练:

  • Anchor(锚点):“秦始皇统一六国后,推行了中央集权的政治体制。”
  • Positive(正例):“秦朝实行了法家思想,中央政府的权力得到了加强。”
  • Negative(负例):“宋朝的科举制度对教育有深远影响。”

注意:传统负例(意思差太多)会让模型学不到“细粒度差异”,需改用“难负例(Hard Negative) ”,意思接近但不相关:

  • 锚点:“秦始皇统一六国后推行中央集权。”
  • 难负例:“秦朝设立郡县制度加强地方管理。”(语义接近但不完全等价)

✅ 使用“Hard Negative”能让模型学会“语义分辨力”。

📌 垂直行业的Embedding微调:

  • 教育:问题-答案对
  • 医疗:症状-诊断方法
  • 法律:案情-判决依据
  • 金融:投资方向-风险提示

比起直接微调大模型,微调Embedding更安全、成本更低。

六、Embedding + Rerank 的最佳实践

RAG中推荐的两阶段检索架构:

  1. Embedding模型检索前20个最相关的知识切片(粗检,快速);
  2. Rerank模型对这20个切片逐一打分,排序出最相关者(精检,准确)。

✅ Rerank 是提升精准度的关键,尤其是知识切片相似度接近时。

常用Embedding & Rerank模型推荐:

模型名称出品方特点
BGE智源研究院通用中文Embedding模型
BCE网易中英双语对齐能力强
QWen GET阿里对长文本切片支持良好
Conan-Embedding腾讯适合对话类语义检索场景

结语:RAG不是“AI的外挂”,而是“认知工程的系统工程”

很多团队失败不是因为RAG不好,而是忽略了RAG是检索工程 + 语义工程 + 用户建模 + 知识重构的系统协同

用好RAG,需要以下三板斧:

  1. 从用户问题出发重构知识库结构(问答对优先)
  2. 优化Query处理流程,增强语义对齐
  3. Embedding + Rerank 组合,提升语义识别的精准度

只要方向对,方法精,RAG就能真正成为你的“企业大脑”。