大模型时代企业转型:RAG 技术的演进与实践挑战
从 2023 年起,大语言模型(Large Language Model, LLM)如 GPT、Gemini、通义千问等迅速爆发。经过一年多的迭代,这些模型在通用知识和常识理解上已相当成熟。与此同时,传统行业的企业纷纷探索将 AI 技术引入业务,寻求实质性变革。与通用大模型厂商比拼基础能力不同,企业更关注如何将大模型的通用能力与自身垂直领域的私有知识相结合,以满足特定业务场景的需求。
垂直领域融合路径
大语言模型与企业垂直领域知识的融合,目前主流有两个方向:
Fine-Tuning(微调)
将私域知识标注为训练数据,直接对大模型进行增量训练。这种方式能提升模型自身的知识储备和认知能力,是大模型厂商持续提升模型能力的核心方式之一。但微调成本高,且容易遗忘原有通用能力,适合数据量极大且稳定的场景。
RAG(检索增强生成)
通过在大模型外部构建一套检索体系,解决企业私域知识的提炼和召回问题,并通过 Prompt 让大模型在企业私域知识的背景下返回结果。RAG 降低了企业对大模型应用的技术门槛,无需重新训练模型即可利用最新知识,是目前非 AI 专业企业的首选方案。
![图:RAG 基础框架示意图]
与 Fine-Tuning 不同,RAG 框架的优势在于构建了 Query(查询)和 Generate(生成)的分工机制。在不改变大语言模型生成能力的基础上,实现与企业私域知识的融合。尽管当下大模型的输入上下文窗口已突破百万 tokens,但难以一次性覆盖企业全部私域知识量;且如果用户每次问询都伴随巨量 tokens 的提示词,也是一种性价比极低的方法。因此,在当前算力背景下,RAG 在大模型应用场景中依然有举足轻重的地位。
然而,企业在实践大模型 + RAG 框架时,常发现效果不尽人意。尽管大模型的推理和生成能力日渐成熟,但受限于 RAG 框架下文本片段 + 向量召回机制中的 Query 准确率问题,往往制约了大模型本身能力的发挥。如何更好地协同 RAG 框架下的 Query 和 Generate 能力,一直是大模型应用的探索方向之一。
RAG 的优化实践
为了解决 RAG 面临的痛点,我们可以把 RAG 的 Query 体系归纳为三大环节:知识预处理、用户提问和查询召回。在每个环节下,一步步探索改善 Query 问题的具体实践。
![图:RAG 优化流程示意图]
Part 1:知识预处理
RAG 从企业各种类型的文件中提取知识内容,这些内容被切割为知识块(Chunk),作为检索的最小单元。知识块内容质量的好坏,直接影响到后续检索和生成回复的准确率。
1. 文档规范
企业可以从文档编写和积累源头,对内容加以规范,从而使其被 RAG 更准确地提取和切割。
- 文本:采用多级标题的段落结构,每个末级标题下的内容不易过长(受切片宽度影响),每个段落内容必须是完整和清晰的。
- 表格:单行表头的表格最佳,行数据避免使用合并单元格的情况,否则解析后语义会丢失。
- 图片:图片与文字的顺序要清晰。一般 Word/PDF 适合文字上、图片下的布局,PPT 可以适合文字上、图片下或文字左、图片右的布局。
- PDF:PDF 通常是用 OCR 进行文字提取的,对单换行符不敏感。所以对正文的段落划分,建议采用双换行符的方式,便于识别段落。
2. 内容加工
对于更新频率低的文档,可以利用大模型 Generate 能力对文档内容进行智能化加工。
- 智能摘要:对整篇文档的内容进行摘要提取,摘要可以用于单独匹配用户的问题,减少检索噪音。
- 问题预测:对整篇文档或文档片段进行预测问题,生成多个相关的问题短语句。问题短语句可以用于单独匹配用户的问题,增加召回覆盖率。
- 图片加工:仅依靠图片上下文关系或 OCR 技术对图片进行内容推理的方式并不可靠。可以借助大模型对图片的理解能力,将文档内的图片归纳为文本描述,从而以文本的形式与用户问题匹配。
- 知识图谱:在大模型的帮助下,可以更加智能地提取文档中的重要实体,并构建三元组形式(实体 1 - 关系 - 实体 2),搭建多文档的知识图谱,用于结构化数据的存储与检索。
Part 2:用户提问
用户提问的内容和方法,也是影响 RAG 准确率的重要因素。对此,可以增加更多显性和隐性的互动环节来改善。
问题澄清
受到传统文本召回搜索引擎的影响,很多用户习惯于用一个词汇或短语进行提问,这种行为会带来更多的匹配不确定性。借助大模型可以快速构建多种澄清场景,并对用户问题进行判断和追问后,归纳成高质量的完整问题进行信息检索。


