Skip to content

数据工程

数据是 LLM 应用的燃料,但原始数据很少能直接使用。一个企业知识库中的文档可能是 PDF、Word、扫描件、HTML 的混合体,充满格式噪声、编码问题和结构不一致。数据工程负责将这些原始文档转换为 LLM 可消费的形式——结构化文本、向量索引、训练数据集。

数据准备通常占 LLM 应用项目总时间的 60-70%,远超模型调优和 Prompt 设计。一个高质量的文档库能让 RAG 系统的表现提升一个量级,而再好的模型也无法弥补数据质量的不足。本章覆盖数据工程的三个核心环节:文档解析(从原始文件提取文本)、数据处理(清洗、分块、标准化)和数据管理(版本控制、质量评估)。

数据工程不仅是 RAG 的前置步骤。微调需要高质量的问答对数据集,Agent 的知识库需要持续更新的文档索引,评估系统需要标注数据集。这些场景共享相同的数据处理基础设施——解析器、清洗管道、分块策略、版本管理。投资于数据工程的工具化和自动化,对 LLM 应用的长期成功至关重要。

数据流水线

一个完整的数据流水线通常包含以下阶段:

采集:从内部系统(Confluence、SharePoint、数据库)和外部来源(网页、API)收集原始文档。增量采集是生产环境的刚需——只处理新增或修改的文档,而不是每次全量重新处理。

解析:将 PDF、Word、HTML 等格式转换为结构化文本,保留标题层级、表格结构、代码块等语义信息。不同格式的解析策略和工具选择在文档解析中详细讨论。

清洗:去除格式噪声、修复编码问题、统一术语、去重。清洗规则需要针对具体数据源定制,通用规则覆盖 80% 的情况,剩余 20% 需要人工检查和调整。

分块:将长文档切分为适合检索或训练的小片段。分块策略在数据处理中详细讨论,关键是在粒度和上下文完整性之间找到平衡。

索引:将分块后的文本通过 Embedding 模型转换为向量,存入向量数据库。索引策略包括单向量索引、多粒度索引和层级索引。

质量验证:通过抽样检查、自动评分和用户反馈验证数据处理的质量。建立数据质量仪表板,跟踪覆盖率、准确性和时效性指标。