
人工智能大模型数据工程数据清洗数据增强数据质检【免费下载链接】data-juicerData processing for and with foundation models! ➡️ ➡️ 项目地址https://gitcode.com/gh_mirrors/da/data-juicer点击查看免费下载Data-JuicerDJ将原始数据混乱转化为AI 就绪的智能它把数据处理视为可组合的基础设施提供模块化的积木式组件覆盖清洗、合成、分析等整个 AI 数据生命周期。无论你是在做 web-scale 预训练语料的去重、agent 交互轨迹的整理还是领域 RAG 索引的构建DJ 都可以从笔记本平滑扩展到上千节点集群且无需编写胶水代码。读完本文你将掌握 DJ 的安装运行、CLI 与 Python 双入口、YAML Recipe 声明式流水线、底层执行器原理以及其生态全景。快速开始零门槛跑通第一条数据处理流水线安装一条命令完成DJ 以py-data-juicer为名发布在 PyPI 上官方推荐的安装与运行方式极简uv pip install py-data-juicer dj-process --config demos/process_simple/process.yaml第一条命令安装完整包第二条命令直接以仓库自带的示例配置启动一个数据处理任务。在 pyproject.toml 中可以看到dj-process正是项目为命令行入口注册的脚本别名它指向data_juicer.tools.process_data:main见 pyproject.toml 中[project.scripts]段也就是说 CLI 与 Python 入口共享同一套核心逻辑。命令行入口dj-process 与执行器分发dj-process的入口实现位于 tools/process_data.py其主流程非常清晰分为三步加载配置调用init_configs()解析 YAML 配置初始化执行器根据配置中的executor_type字段分派到不同的执行器default→DefaultExecutor单机多进程ray→RayExecutorRay 分布式ray_partitioned→PartitionedRayExecutor带分区的 Ray 分布式执行器用于提升容错与可扩展性运行调用executor.run()执行整条流水线。配置解析由 data_juicer/config/config.py 中的init_configs()完成。从源码看配置可来自四个来源config.py 的 docstring 明确列出POSIX 风格命令行参数、YAML含 JSON/JSONNet 超集配置文件、环境变量、以及硬编码默认值。这意味着你既可以用--config指定文件也可以用命令行参数覆盖单个配置项灵活性很高。Python 组合式 API把算子当积木除了 CLIDJ 还提供了完全 Python 化的组合方式官方 Quick Start 给出了一个可直接运行的最小示例from data_juicer.core.data import NestedDataset from data_juicer.ops.filter import TextLengthFilter from data_juicer.ops.mapper import WhitespaceNormalizationMapper ds NestedDataset.from_dict({ text: [Short, This passes the filter., Text with spaces] }) res_ds ds.process([ TextLengthFilter(min_len10), WhitespaceNormalizationMapper() ]) for s in res_ds: print(s)这里的关键类是NestedDataset它定义在 data_juicer/core/data/dj_dataset.py同时继承了 HuggingFaceDataset与 DJ 的抽象基类DJDataset因此既保留了 HuggingFace 生态的map/filter等能力又获得了 DJ 的process()高层接口。从源码可以看到NestedDataset.process(operators, ...)按顺序逐个执行算子列表dj_dataset.py每个算子通过op.run()作用于当前数据集处理结果作为下一个算子的输入形成天然的串行流水线每完成一个算子日志会输出[idx/op_num] OP [op_name] Done in ... Left N samples方便实时观察数据量的逐级变化process()还支持exporter、checkpointer、tracer、adapter等可选参数分别对应导出、断点续跑、追踪与洞察挖掘等扩展能力类内部重写了map/filter借助wrap_func_with_nested_access与nested_obj_factory把普通 dict 包装为支持嵌套键访问的NestedQueryDict让多模态等带嵌套结构的样本读写更顺手。为什么选择 Data-Juicer三大核心能力1. 模块化与可扩展架构200 算子覆盖文本、图像、音频、视频与多模态数据形成庞大的算子动物园operator zooRecipe 优先数据处理流水线以可复现的 YAML 形式组织可以像代码一样做版本管理、分享与 fork可组合既可以单独使用一个算子也可以串联复杂工作流或编排完整流水线热重载迭代算子时无需重启整个流水线。从源码层面看这套可扩展性建立在注册表机制之上。data_juicer.ops.base_op中定义了OPERATORS注册表以及Mapper、Filter、Deduplicator、Selector等基础算子类别base_op.py任何算子只要用OPERATORS.register_module(op_name)装饰即可被自动发现。例如 text_length_filter.py 中OPERATORS.register_module(text_length_filter)与 whitespace_normalization_mapper.py 的注册方式完全一致这也是 YAML 配置里直接写算子名就能生效的根本原因。此外config.py 中的load_custom_operators()支持从任意文件或包目录动态加载自定义算子并内置了模块名冲突检测结合 v1.5.5 引入的外部 OP 插件机制第三方算子可通过 Python entry point 自动注册生态扩展路径非常通畅。2. 全谱系数据智能DJ 面向整个 AI 数据生命周期基础模型Foundation Models预训练、微调、强化学习RL以及评估级的数据治理Agent 系统工具调用轨迹清洗、上下文结构化、脱敏与质量把关。仓库内demos/agent/提供了完整的 agent 交互质量分析与坏例报告 Recipe见 demos/agent/README.md包含 JSONL 流水线与 HTML 报告相关算子如agent_bad_case_signal_mapper等一应俱全RAG 与分析信息抽取、归一化、语义分块、去重与数据画像。3. 生产级性能规模官方声明可在 50 个 Ray 节点6400 核上 2 小时处理 700 亿样本效率官方声明使用 1280 核可在 2.8 小时完成 5TB 数据的去重优化自动 OP 融合可带来 2-10 倍加速、自适应并行、CUDA 加速与鲁棒性保障可观测性内置 tracing用于调试、审计与迭代改进。上述性能数字均为项目官方 README 的自述数据实际效果取决于硬件环境、数据形态与算子组合建议以自身基准测试为准。以 OP 融合为例仓库在 data_juicer/ops/op_fusion.py 中实现了融合策略FUSION_STRATEGIES并在此基础上演进出了FusedSequentialBatchOpv1.5.4 引入可在 batch 内部融合连续的算子以减少算子间开销显著加速顺序处理。执行器侧则通过executor_type在默认、Ray 与分区 Ray 之间切换配合 v1.5.3 引入的ray_repartition_pipeline支持数据集级 block 重分区以及 v1.5.5 起对 Ray Data 执行路径的多项优化移除过早执行的 eager action、迁移到公开的TaskPoolStrategy/ActorPoolStrategyAPI 等共同构成大规模处理能力的基础。用 YAML Recipe 声明式编排数据处理流程DJ 的Recipe 优先理念落到实操上就是一份 YAML 文件。仓库自带的示例 demos/process_simple/process.yaml 结构非常典型# Process config example for dataset # global parameters project_name: demo-process dataset_path: ./demos/data/demo-dataset.jsonl # path to your dataset directory or file np: 4 # number of subprocess to process your dataset export_path: ./outputs/demo-process/demo-processed.jsonl # process schedule # a list of several process operators with their arguments process: - language_id_score_filter: lang: zh min_score: 0.8这份配置揭示出 Recipe 的两个核心段落全局参数project_name标识项目dataset_path指向数据集文件或目录支持 JSONL、Parquet、CSV 等格式以及hdfs://、S3 等远程路径np指定处理时使用的子进程数export_path指定处理结果的输出位置。process 调度段一个算子列表每个算子项以算子名 参数字典的形式出现。示例中只用了language_id_score_filter按语言 ID 分数过滤保留中文lang: zh且分数不低于 0.8 的样本实际使用中可以无限扩展例如把text_length_filter、whitespace_normalization_mapper等按顺序写入列表即可组合出更复杂的流水线。值得强调的是YAML 中算子名与源码注册名是一一对应的。比如想按文本长度过滤就把text_length_filter写入 process 列表并在其下配置min_len默认 10与max_len默认sys.maxsize这两个参数的默认值定义在 text_length_filter.py 中。v1.6.0 起DJ 还增加了配置校验能力流水线 preflight 阶段会在正式处理前捕获无效的算子设置以及执行器/数据 schema 不匹配等问题相当于把错误暴露在数据加工之前而不是跑了一半才失败。深入理解一个 Filter 与一个 Mapper 的底层实现TextLengthFilter统计先行、批量过滤TextLengthFilter 是一个典型的 Filter 算子其设计体现了 DJ 的统计-过滤两阶段模式_batched_op True声明它支持批量处理compute_stats_batched()负责统计如果样本的 stats 中已有text_len则复用否则计算len(text)并写入Fields.statsprocess_batched()负责决策根据min_len/max_len对每条样本计算保留与否的布尔值。这种先算统计、再按统计过滤的解耦让同一条统计结果可以被多个过滤器复用也便于上游算子预计算 stats从而避免重复计算。WhitespaceNormalizationMapper把一切空白统一为空格WhitespaceNormalizationMapper 是一个典型的 Mapper对每条文本先strip()去掉首尾空白再基于VARIOUS_WHITESPACES定义于 special_characters.py将制表符、换行等各类空白字符统一替换为普通空格。代码量虽少但它代表了 Mapper 类算子的通用形态对样本内容做就地改写而非丢弃。Filter 与 Mapper 一减一改配合 Deduplicator、Selector、Grouper、Aggregator 等类别共同构成 DJ 的算子分类体系各类别算子文档可查阅 docs/operators/。版本演进从 v1.5.0 到 v1.6.0 的能力跃迁README 的 News 区完整记录了近期的版本主线从中可以清晰看到 DJ 的演进方向v1.6.02026-09-08发布 Juicer 自然语言数据精炼模型引入 Cluster-Aware Partitioning自动分区数基于实时 Ray 集群资源手动partition.size目标按行边界切分配置校验前置prepare_api_model支持api_backendlitellm通过 LiteLLM 做供应商级模型路由原 OpenAI 兼容后端仍为默认统一远程导出本地/S3/HDFS 共用文件系统分发JSONL 导出以 ISO 格式序列化 Python 日期新增image_ohem_selector图像难例选择器token 计数类过滤器限制 tokenizer 批大小以降低长输入峰值内存修复多项鲁棒性问题。v1.5.52026-08-07外部 OP 插件机制hdfs://读写支持Ray Data 执行优化demos/elastic_sharding/弹性多节点分片参考工作流分布式RayAnalyzer用 Ray 原生算子计算聚合统计避免 pandas 物化内存优化流式 n-gram 计数与分块 MinHash 置换将峰值 RSS 从 768 MiB 降至 272 MiB结果不变。v1.5.42026-07-17新增 9 个人类中心视频理解算子人体轨迹提取、活跃说话人检测、音频 ASR、语音情感与年龄/性别检测、人脸属性/情感描述、人脸占比过滤等用于构建 HumanVBench 风格流水线引入FusedSequentialBatchOp批内阶段融合修复 Ray 去重器共享状态等问题并通过精确的平台标记解锁 ARM64 安装。v1.5.32026-06-26扩展 10 个 VLA视觉-语言-动作算子DeepCalib/DroidCalib/MoGe 相机标定、原子动作分割、手部动作计算与平滑、剪辑重组、轨迹叠加、LeRobot 导出及完整 VLA 流水线 demo新增ray_repartition_pipelineoverride_num_blocks贯通调用链以控制 PB 级数据的 block 并行度。v1.5.22026-05-29新增跨文档行级去重器DocumentLineDeduplicator按全局文档频率剔除模板、版权声明、导航条等样板行发布 agent 数据质量工具包精简默认依赖集Ray、音频、spaCy、av 等移入按需 extras引入语义 LLM 算子llm_extract_mapper、llm_condition_filter等统一llm_*命名。v1.5.12026-03-17新增 LaTeX 算子、json[l].gz压缩格式直接加载补充 cache、export、tracing 文档。v1.5.02026-02-12引入分区 Ray 执行器与算子级隔离环境提升容错、可扩展性与依赖冲突解决能力扩展具身 AI 视频处理算子支持批量推理与内存/日志优化。完整的历史动态可查阅 docs/news.md。同时README 专门介绍了自然语言数据精炼模型Juicer它把清洗指令、过滤规则与语义标注需求转化为结构化输出既可在 HuggingFace/ModelScope 等平台在线体验也支持下载后本地部署其能力介绍与使用方式见 docs/Juicer.md。生态、集成与社区DJ 定位为可插拔的数据层官方 README 按字母序列出了三类生态扩展项目data-juicer-agentsDJ Copilot 与 agent 化工作流、data-juicer-hub社区 Recipe 与最佳实践、data-juicer-sandbox带反馈回路的数据-模型协同开发框架与平台与 AgentScope、Apache Arrow、Apache HDFS、Hudi、Iceberg、Paimon、Delta Lake、DiffSynth-Studio、EasyAnimate、Eval-Scope、HuggingFace、LanceDB、LLaMA-Factory、ModelScope、NVIDIA NeMo、Ray、RM-Gallery、Trinity-RFT 等深度协同产业与学术被多家企业用于生产数据管线并与多所高校开展合作。社区方面DJ 欢迎各类贡献可以从 Good First Issues 入手或参考 Developer Guide 开发新算子/优化核心基础设施也可以向 DJ-Hub 分享 Recipe 与最佳实践。项目由阿里通义实验室发起与阿里云 PAI、AnyscaleRay 团队、中山大学、NVIDIANeMo 团队等共同开发其设计思路受到 Apache Arrow、Ray、HuggingFace Datasets、BLOOM、RedPajama-Data 等项目的启发。文档导航与引用除本 README 外仓库还提供了体系化的学习资料docs/安装、数据处理、分析、配置、导出、缓存、追踪、分布式等主题的中英文指南如 docs/Installation.md、docs/ProcessData.md、docs/DatasetCfg.md、docs/GlobalConfig.md、docs/Export.md 等docs/tutorial/DJ-Cookbook 资源归档与 awesome_llm_data 数据-模型协同开发精选清单demos/agent 质量分析、弹性分片、VLA 流水线、HPO 调优等可运行参考示例tests/覆盖算子、核心、工具与示例的测试用例可作为用法即文档的补充。如果研究工作使用了 Data-Juicer官方建议引用以下两篇论文完整 BibTeX 见 README.mdData-Juicer: A One-Stop Data Processing System for Large Language ModelsSIGMOD 2024Data-Juicer 2.0: Cloud-Scale Adaptive Data Processing for and with Foundation ModelsNeurIPS 2025。项目基于 Apache License 2.0 开源。从整体看Data-Juicer 正沿着更多模态算子、更强分布式执行、更贴近自然语言的智能精炼三条主线持续演进是构建 AI 数据基础设施时值得认真评估的选择。赞分享人工智能大模型数据工程数据清洗数据增强数据质检【免费下载链接】data-juicerData processing for and with foundation models! ➡️ ➡️ 项目地址https://gitcode.com/gh_mirrors/da/data-juicer点击查看免费下载相关推荐MBPFan架构解析与智能温控实现原理MBPFan架构解析与智能温控实现原理 在Linux系统上运行MacBook的技术爱好者常面临散热管理难题处理器温度波动导致风扇噪音过大或散热不足。MBPFaTry Puppeteer部署指南从Docker构建到App Engine Flex的快速上手指南Try Puppeteer部署指南从Docker构建到App Engine Flex的快速上手指南 Try Puppeteer 是一个允许开发者在云端运行 PRT-Thread 实时操作系统全景解析架构、特性、资源与快速上手指南RT Thread 实时操作系统全景解析架构、特性、资源与快速上手指南 RT Thread 是一款诞生于 2006 年的开源、中立、社区驱动的物联网实时操作系操作系统嵌入式物联网嵌入式OSRTOS上一篇Piston扩展开发指南如何为高性能代码执行引擎添加新的编程语言支持下一篇WezTerm 配置指南10 分钟配好 GPU 加速的终端与多路复用器创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考