什么是RAG
前言
自2025年年初DeepSeek引发广泛关注以来,大模型技术逐渐家喻户晓。作为其重要应用方向之一,RAG(检索增强生成)技术也被更多提及。
本文将对RAG的核心技术流程进行简要解析。
RAG从何而来?
可将大模型类比为理解力极强的人类,但其无法回答未接触过的领域问题——这类问题称为私域问题。
例如提问:”我今天早上9点到达公司是否迟到?” 大模型无法直接回答,因为它不了解公司考勤制度。若将考勤规则提供给大模型,它即可作出准确判断。
企业实际场景中私域问题极为常见,RAG技术正是为此而生。
什么是RAG?
RAG技术:
R:检索 - 构建知识库的过程
A:增强 - 扩展模型知识边界的能力
G:生成 - 基于知识库的问答过程
本质是通过构建外部知识库,赋能大模型完成精准问答
RAG核心流程
RAG整个过程可以分为下面几个步骤:
1 | graph LR |
索引过程(R构建知识库):
原始文档 → 向量数据库存储
检索过程(A增强):
用户问题 → 相似度匹配 → 关联知识块
生成过程(G生成):
问题+知识块 → 提示词工程 → 大模型生成答案
关键技术细节
1. 文档处理
- 存储格式:Excel/Word等格式影响文本分割策略
- 多模态支持:PDF/图片/音频需结合多模态解析技术
- 数据清洗:大模型容错性高,基础清洗即可满足需求
2. 文本切割
核心原则:语义完整性与独立性平衡
- 切割方式(复杂度递增):
- 按字数/Token数分割
- 按标点符号分段
- 依文档结构(标题/段落/章节)划分
- 先标点初分→语义相似度聚合(最优方案)
- 知识块:切割后形成的独立语义单元
- 理想状态:原始文档本身为结构化问答对
3. 向量化
文本数字化方案演进:
技术 | 特点描述 | 向量类型 |
---|---|---|
词袋模型 | 统计词频(是否出现/出现次数) | 稀疏向量 |
TF-IDF | 词频×逆文档频率(突出关键词) | 稀疏向量 |
词向量 | 神经网络训练的词级语义表示 | 稠密向量 |
Embedding | Transformer模型输出的上下文语义编码 | 稠密向量 |
核心差异:
- 稀疏向量:高维稀疏(多数位置为0),保留词频特征
- 稠密向量:固定维度(如128/512维),编码深层语义
- 关键特性:稠密向量维度固定且无列含义,仅表征整体语义
4. 向量数据库
三大核心能力:
- Embedding集成:支持指定模型自动生成向量
- 混合存储:向量+元数据(作者/日期等标量字段)
- 联合检索:
- 标量检索(关键词过滤)
- 向量检索(语义相似度匹配)
相似度度量:
- 余弦相似度 → 向量方向一致性
- 欧氏距离 → 向量空间绝对距离
5. 提示词工程
模板结构:[系统角色定义]
+ [输出格式要求]
+ [历史对话上下文]
+ 用户问题:{question}
+ 参考知识:{retrieved_context}
动态部分仅占30%,70%为预定义的结构化指令
6. LLM模型选择
考量维度 | 开源模型 | 闭源模型 |
---|---|---|
成本 | 免授权费 | 按Token付费 |
数据安全 | 私有化部署保障安全 | 数据需传输至第三方 |
性能表现 | 依赖自身优化能力 | 提供商持续优化 |
硬件投入 | 需自建GPU集群 | 零硬件投入(API调用) |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 PeakofMountains!
评论