拓冰建站拓冰建站
首页 / 资讯中心 / 正文

DataFlow知识库清洗流水线:从PDF书籍到RAG知识条目的结构化提取全流程

DataFlow知识库清洗流水线从PDF书籍到RAG知识条目的结构化提取全流程【免费下载链接】DataFlow基于大模型算子和工作流的高效文本大模型训练数据合成框架项目地址: https://gitcode.com/OpenDCAI/DataFlowDataFlow 是一个基于大模型算子和工作流的高效文本训练数据合成框架其中的**知识库清洗流水线KB-Cleaning Pipeline**能把你手头的 PDF 书籍、论文、网页自动转化为结构化知识条目和多跳问答对直接喂给 RAG 系统或用于 SFT 微调全程无需手工整理数据。这篇文章面向新手带你完整走一遍这条流水线文档解析 → 知识分块 → 文本清洗 → QA 合成 → 训练格式转换5 个算子串成一条可复现、可复用的数据生产线。 为什么需要知识库清洗流水线做 RAG检索增强生成或领域微调时原始资料往往是一堆脏文件PDF 书籍/论文里夹杂页眉页脚、公式乱码、图片占位符网页内容里堆满 HTML 标签、超链接、弯引号知识库条目粒度混乱有的太长检索不准有的太短信息不全人工清洗 100 本书几乎不可能。DataFlow 的思路是把每个清洗动作封装成一个算子Operator再像搭积木一样拼成流水线Pipeline用大模型完成语义级的理解与改写。 DataFlow 知识库清洗流水线5 个算子的完整链路整条流水线在 kbcleaning_pipeline.py 中定义核心就是 5 步步骤算子作用1️⃣FileOrURLToMarkdownConverter用 MinerU 把 PDF/网页解析为干净的 Markdown2️⃣KBCChunkGenerator按 token 数把长文切成适中的知识块3️⃣KBCTextCleaner大模型清洗去 HTML 标签、规范特殊字符4️⃣Text2MultiHopQAGenerator从知识块合成多跳推理问答对5️⃣QAExtractor转为 Alpaca 训练格式直供 LLaMA-Factory每步的输出自动进入下一步的输入中间结果缓存在.cache目录方便断点续跑和逐步检查。Step 1PDF 文档解析——MinerU 把文档变成 Markdown第一个算子负责把文件变成文字。它支持三种后端可按算力灵活选择源码见 mineru_operators.pyAPI 版调用 MinerU 官方 API零 GPU、开箱即用适合新手Flash 本地版用 vLLM 加速本地推理速度最快适合大批量书籍官方本地版纯本地推理稳定但较慢输入就是一份文件清单每行一个 PDF 或网页 URL。官方示例数据 kbc_test_1.jsonl 长这样{source: ../example_data/KBCleaningPipeline/bitter_lesson.pdf} {source: https://arxiv.org/pdf/2505.07773}算子自动识别 URL 还是本地文件解析完成后每个条目多出一个text_path字段指向解析好的 Markdown 文件。Step 2知识分块——把长文切成检索友好的知识块RAG 检索的黄金法则是块太长召回不精准块太短语义不完整。KBCChunkGenerator 解决这个问题默认按token 分块split_methodtoken每块 512 token块间重叠 50 token保证跨块上下文不丢失分块粒度与你的检索 embedding 模型对齐示例用Qwen/Qwen2.5-7B-Instruct的 tokenizer还支持 sentence句子、semantic语义、recursive递归三种切分策略输出为raw_chunk字段一本书就被切成了几百个一页知识。Step 3LLM 文本清洗——去掉噪音但一个字不改事实解析出来的 Markdown 还残留 HTML 标签、破折号、乱码链接。KBCTextCleaner 调用大模型做语义级清洗规则很克制移除冗余 HTML 标签但保留语义化标签标准化引号/破折号等特殊字符处理超链接时保留链接文本保持原始段落结构和代码缩进事实性内容零修改——只整理格式不改知识清洗完成的块写入cleaned_chunk字段这就是可以直接入库的干净知识条目。Step 4多跳问答对合成——让知识活起来如果只建检索库到 Step 3 就够了若想训练领域问答模型第 4 步用 Text2MultiHopQAGenerator 从知识块中合成问答对批量版见 kbc_multihop_qa_generator_batch.py。多跳是关键生成的问题不是单句查找而是需要串联多个事实才能回答。每条 QA 包含question、reasoning_steps推理步骤、answer、supporting_facts支撑事实和复杂度元数据天然就是高质量 SFT 数据。示例配置每块生成 5 个问题num_q5。Step 5转训练格式——QAExtractor 直通 LLaMA-Factory最后一步由 QAExtractor 完成把嵌套的QA_pairs拍平成 Stanford Alpaca 标准的instruction / input / output三列并导出qa.json——这正是 LLaMA-Factory 训练格式零转换直接开训。GPU 版的完整流水线vLLM 本地推理 5 步全链路在 kbcleaning_pipeline_vllm.py 中适合有显卡的用户批量处理整柜书籍。⚡ 快速上手3 种运行方式方式一API 流水线新手首选安装后直接运行官方 API 版流水线仅需配置 API Keypip install uv uv pip install open-dataflow然后参考 kbcleaning_pipeline.py 配置你自己的 LLM 服务即可。方式二WebUI 可视化操作DataFlow 提供 Web 界面上传 PDF、选模型后端vllm / api / sglang、一键跑完整条清洗流水线并导出结果核心入口在 kbclean_webui.py。方式三PDF2Model 一站式命令如果你想从 PDF 到训练好的模型一步到位可用 CLI 三连dataflow pdf2model init # 生成训练配置与流水线脚本 dataflow pdf2model train # 解析→清洗→QA合成→自动开训 dataflow chat # 直接和训练好的领域模型对话该命令内部自动串起 PDF 检测、数据清洗、dataset_info.json生成与 LLaMA-Factory 训练实现逻辑见 cli_pdf.py注意实际路径为 dataflow/cli_funcs/cli_pdf.py。 核心文件路径速查文件说明kbcleaning_pipeline.pyAPI 版知识库清洗流水线kbcleaning_pipeline_vllm.pyGPU 版vLLM 本地推理流水线knowledge_cleaning/知识库清洗算子目录qa_extract.pyQA 提取与 Alpaca 格式转换算子kbcleaning.py知识清洗提示词模板kbclean_webui.py知识库清洗 WebUI 入口kbc_test_1.jsonl官方示例输入数据总结一条流水线两份产出DataFlow 知识库清洗流水线的价值在于一份输入、两种产出清洗后的cleaned_chunk→ 直接入库构建高质量RAG 知识库合成的多跳 QA 对 → 转为 Alpaca 格式微调领域问答模型从一本 PDF 到可检索的知识条目 可训练的数据集5 个算子、一条命令级别的操作量。想要更完整的上手教程可参考项目 README 中的 Quick Start 章节与示例数据目录 KBCleaningPipeline/。【免费下载链接】DataFlow基于大模型算子和工作流的高效文本大模型训练数据合成框架项目地址: https://gitcode.com/OpenDCAI/DataFlow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门