RAG 数据工程

#『AI先锋杯·14天征文挑战第5期』#

思维导图

在这里插入图片描述


课程内容

1. 课程定位与总体目标

本课程系统讲解了面向企业级检索增强生成(RAG)应用的数据工程全链路:
原始数据处理 → 文档转换 → 数据切块(Chunking)→ 父子检索(Parent-Child Retrieval)→ 评估体系与训练数据构建 → 嵌入/重排/大模型微调。
重点强调:RAG 效果 50% 以上取决于数据工程质量;避免将问题简单归因于“模型能力”。


2. 原始数据类型与统一处理目标

原始数据分两大类:

  • 非结构化:扫描 PDF、文字版 PDF、Word、Excel、PPT、网页、Markdown、图像、表格、公式、图片、语音/视频(提及但非重点)。
  • 结构化 / 半结构化:数据库(SQL)、知识图谱、业务表格(含大量缩写/编码字段)。

统一处理目标:

  1. 转换为“可检索 + 可追溯”的带元数据 Markdown(推荐)或等价文本格式。
  2. 保留文本、表格(Markdown Table)、图片链接及描述、公式(保留可解析格式)、必要结构层级。
  3. 补充 Metadata:文件 ID、来源、业务分类、Chunk 上下文关系等。

附加可选增强:

  • 构建知识图谱:仅在结构化关系强、跨实体推理价值高(如核电设备、教育知识点树)时使用;非默认必选。
  • 数据库“人类友好化”改造:字段重命名、外键展开、冗余必要可读信息、裁剪无用列。

3. 文档转换三类技术路线

3.1 Pipeline 小模型组合方案

在这里插入图片描述

流程:版式/版面结构识别 → 分类(段落/标题/表格/图/公式/水印/印章等)→ OCR → 表格结构解析/单元格合并处理 → 公式识别 → 图表解析(可转数值表)→ 版式/阅读顺序恢复 → 纠错。
代表:PP-StructureV3(PaddleOCR),MinerU 2.0 Pipeline。
优点:

  • 可 CPU 运行;组件可替换与针对性微调;定位问题粒度细。
    缺点:
  • 工程胶水代码多、调试与部署复杂;需要一定 CV/模型背景;OCR 仍有错别字。

3.2 通用 VLM(多模态大模型)方案

在这里插入图片描述

通过 Few-shot + 强基座模型直接“图 → Markdown”。
优点:

  • 识别准确率较高;支持 Few-shot 不训练提升;对复杂表格/跨模态内容友好。
    缺点:
  • 成本高、速度慢;仍需工程封装(图像抽取);存在“主动修改文本”幻觉风险。

3.3 专用 VLM(垂类文档理解模型)

在这里插入图片描述

如 GOT-OCR 训练思路、MinerU2.0-2505-0.9B、MonkeyOCR-pro-1.2B、OCRFlux-3B、dots.ocr 等。
特点:

  • 针对文档视觉
### RAG 工程的定义 RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了传统检索技术和现代生成模型的技术框架。其核心理念在于利用外部知识库中的信息来增强大语言模型(LLM)的生成能力[^1]。具体来说,RAG 不仅依赖于预训练的语言模型参数,还通过实时检索相关文档并将其作为上下文输入给模型,从而提高生成内容的质量和准确性。 在实际应用中,RAG 的目标是解决纯生成模型可能存在的幻觉问题(hallucination),即生成的内容与事实不符的情况。通过引入基于真实数据的检索模块,RAG 能够显著提升生成结果的真实性和可靠性[^2]。 --- ### RAG 技术架构 #### 基本技术流程 RAG 的基本工作流可以分为以下几个部分: 1. **查询解析** 用户输入被解析为结构化形式以便后续处理。这一阶段可能会涉及自然语言理解(NLU)技术,用于提取关键意图或实体。 2. **文档检索** 使用搜索引擎或其他索引工具从大规模数据库中查找与当前请求最相关的若干篇文档片段。这些文档通常存储在一个专门构建的知识图谱或者语料库里[^1]。 3. **上下文融合** 将检索得到的结果整理成适合传递给生成模型的形式,并附加至原始提问之后形成新的输入序列[^2]。 4. **响应生成** 利用大型预训练语言模型读取上述组合后的文本串,最终输出一段连贯的回答[^1]。 #### 高级功能扩展 除了基础版本外,还有多种改进型方法进一步增强了系统的灵活性与性能表现: - **路由机制**:根据不同类型的询问自动切换对应的检索策略,比如针对特定领域采用定制化的算法[^2]。 - **自反思回路**:当初步产生的答案质量较低时触发重试逻辑——要么修改原搜索条件再次尝试获取更优匹配项;要么直接替换掉不恰当的部分再送入下一步操作链条之中[^2]。 以下是实现该架构的一个简单伪代码示例: ```python def rag_pipeline(query, retriever, generator): retrieved_docs = retriever.search(query) # 文档检索 context = " ".join(retrieved_docs) input_text = f"{query} [SEP] {context}" # 上下文拼接 response = generator.generate(input_text) # 输出生成 return response ``` --- ### 总结 综上所述,RAG 是一种创新性的混合范式,在保留传统 IR 系统优势的同时充分发挥了神经网络强大的泛化特性。对于希望打造兼具效率与精准度的信息服务类产品开发者而言,掌握这项技能无疑具有重要意义[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值