Data processing for and with foundation models! ๐ ๐ ๐ฝ โก๏ธ โก๏ธ๐ธ ๐น ๐ท
7,035
stars
622
commits
Python
primary language
Sep 9, 2026
updated
Multimodal | Cloud-Native | AI-Ready | Large-Scale
Data-Juicer (DJ) transforms raw data chaos into AI-ready intelligence. It treats data processing as composable infrastructureโproviding modular building blocks to clean, synthesize, and analyze data across the entire AI lifecycle, unlocking latent value in every byte.
Whether you're deduplicating web-scale pre-training corpora, curating agent interaction traces, or preparing domain-specific RAG indices, DJ scales seamlessly from your laptop to thousand-node clustersโno glue code required.
Alibaba Cloud PAI has deeply integrated Data-Juicer into its data processing products. See Quickly submit a DataJuicer job.
Zero-install exploration:
Install & run:
uv pip install py-data-juicer
dj-process --config demos/process_simple/process.yaml
Or compose in Python:
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_len=10),
WhitespaceNormalizationMapper()
])
for s in res_ds:
print(s)
โญ If Data-Juicer saved you time or improved your data work, please consider starring the repo. It helps more people discover the project and keeps you notified of new releases and features.
hdfs:// support for dataset loading and exporting, aligned with the existing S3 path.TaskPoolStrategy/ActorPoolStrategy APIs, parallelized partitioned execution, preserved elastic actor pool concurrency, and kept partition checkpoints valid across block-layout changes.demos/elastic_sharding/ that shards large JSONL datasets across nodes via node-local Ray executors, with retries and ordered merge.RayAnalyzer computes and aggregates dataset stats with Ray native operators, avoiding pandas materialization.text_chunk_mapper delimiter leakage, calibrate_response_mapper output_pattern handling, and null captions in image_diffusion_mapper; added membership operators to general_field_filter; relaxed numpy/fsspec/pandas bounds for Python 3.13+ and pyarrow>=17.FusedSequentialBatchOp fuses consecutive OPs within a batch to cut inter-op overhead and speed up sequential processing.clean_html_mapper robust to null text values, handled boolean stat columns in ColumnWiseAnalysis, and unblocked ARM64 (aarch64) installation via precise decord/torchcodec platform markers.ray_repartition_pipeline for dataset-level block repartitioning in Ray mode.override_num_blocks through the full call chain for controlling block parallelism on PB-scale datasets.DocumentLineDeduplicator for cross-document line-level dedup, removing boilerplate lines (templates, copyright notices, navigation bars) by global document frequency.exit(1)), Ray init/temp-dir fixes, valid API params (drop invalid max_new_tokens), PyArrow 20+ batch JSON reading, local-path aesthetics model support, and more performance/bug fixes.llm_extract_mapper, llm_condition_filter, and llm_structured_ops with unified llm_* naming and configurable inference strategies (join/agg/top-k planned)..tex archives and figure contexts.json[l].gz files can now be loaded directly, and Ray datasets gain proper support for reading compressed JSON files.View All Release and News Archive
The below list focuses on developer-facing integration and usages in alphabetical order. Missing your project / name? Feel free to open a PR or reach out.
Data-Juicer plugs into your existing stack and evolves with community contributions:
AgentScope ยท Apache Arrow ยท Apache HDFS ยท Apache Hudi ยท Apache Iceberg ยท Apache Paimon ยท Alibaba PAI ยท Delta Lake ยท DiffSynth-Studio ยท EasyAnimate ยท Eval-Scope ยท Huawei Ascend ยท Hugging Face ยท LanceDB ยท LLaMA-Factory ยท ModelScope ยท ModelScope Swift ยท NVIDIA NeMo ยท Ray ยท RM-Gallery ยท Trinity-RFT ยท Volcano Engine
Alibaba Group, Ant Group, BYD Auto, ByteDance, DTSTACK, JD.com, NVIDIA, OPPO, Xiaohongshu, Xiaomi, Ximalaya, and more.
CAS, Nanjing University, Peking University, RUC, Tsinghua University, UCAS, Zhejiang University, and more.
We believe in building together. Whether you're fixing a typo, crafting a new operator, or sharing a breakthrough recipe, every contribution shapes the future of data processing.
We welcome contributions at all levels:
| Discord | DingTalk |
|---|---|
![]() | ![]() |
Data-Juicer is made possible by the users and community:
For detailed documentation, please see here.
Quick Links:
demos/agent/; operators such as agent_bad_case_signal_mapper are also listed in docs/Operators.md)Data-Juicer is released under the Apache License 2.0. Attribution is appreciated: please use our badge, or text as "This project uses Data-Juicer: https://github.com/datajuicer".
If you find Data-Juicer useful in your work, please cite:
@inproceedings{djv1,
title={Data-Juicer: A One-Stop Data Processing System for Large Language Models},
author={Chen, Daoyuan and Huang, Yilun and Ma, Zhijian and Chen, Hesen and Pan, Xuchen and Ge, Ce and Gao, Dawei and Xie, Yuexiang and Liu, Zhaoyang and Gao, Jinyang and Li, Yaliang and Ding, Bolin and Zhou, Jingren},
booktitle={SIGMOD},
year={2024}
}
@article{djv2,
title={Data-Juicer 2.0: Cloud-Scale Adaptive Data Processing for and with Foundation Models},
author={Chen, Daoyuan and Huang, Yilun and Pan, Xuchen and Jiang, Nana and Wang, Haibin and Zhang, Yilei and Ge, Ce and Chen, Yushuo and Zhang, Wenhao and Ma, Zhijian and Huang, Jun and Lin, Wei and Li, Yaliang and Ding, Bolin and Zhou, Jingren},
journal={NeurIPS},
year={2025}
}
(ICML'25 Spotlight) Data-Juicer Sandbox: A Feedback-Driven Suite for Multimodal Data-Model Co-development
(CVPR'25) ImgDiff: Contrastive Data Synthesis for Vision Large Language Models
(NeurIPS'25) Diversity as a Reward: Fine-Tuning LLMs on a Mixture of Domain-Undetermined Data
(NeurIPS'25) MindGYM: What Matters in Question Synthesis for Thinking-Centric Fine-Tuning?
(ICML'26) DetailMaster: Can Your Text-to-Image Model Handle Long Prompts?
(Data Scaling) BiMix: A Bivariate Data Mixing Law for Language Model Pretraining
Python
99.8%
Data processing for and with foundation models! ๐ ๐ ๐ฝ โก๏ธ โก๏ธ๐ธ ๐น ๐ท
7,035
stars
622
commits
Python
primary language
Sep 9, 2026
updated
Multimodal | Cloud-Native | AI-Ready | Large-Scale
Data-Juicer (DJ) transforms raw data chaos into AI-ready intelligence. It treats data processing as composable infrastructureโproviding modular building blocks to clean, synthesize, and analyze data across the entire AI lifecycle, unlocking latent value in every byte.
Whether you're deduplicating web-scale pre-training corpora, curating agent interaction traces, or preparing domain-specific RAG indices, DJ scales seamlessly from your laptop to thousand-node clustersโno glue code required.
Alibaba Cloud PAI has deeply integrated Data-Juicer into its data processing products. See Quickly submit a DataJuicer job.
Zero-install exploration:
Install & run:
uv pip install py-data-juicer
dj-process --config demos/process_simple/process.yaml
Or compose in Python:
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_len=10),
WhitespaceNormalizationMapper()
])
for s in res_ds:
print(s)
โญ If Data-Juicer saved you time or improved your data work, please consider starring the repo. It helps more people discover the project and keeps you notified of new releases and features.
hdfs:// support for dataset loading and exporting, aligned with the existing S3 path.TaskPoolStrategy/ActorPoolStrategy APIs, parallelized partitioned execution, preserved elastic actor pool concurrency, and kept partition checkpoints valid across block-layout changes.demos/elastic_sharding/ that shards large JSONL datasets across nodes via node-local Ray executors, with retries and ordered merge.RayAnalyzer computes and aggregates dataset stats with Ray native operators, avoiding pandas materialization.text_chunk_mapper delimiter leakage, calibrate_response_mapper output_pattern handling, and null captions in image_diffusion_mapper; added membership operators to general_field_filter; relaxed numpy/fsspec/pandas bounds for Python 3.13+ and pyarrow>=17.FusedSequentialBatchOp fuses consecutive OPs within a batch to cut inter-op overhead and speed up sequential processing.clean_html_mapper robust to null text values, handled boolean stat columns in ColumnWiseAnalysis, and unblocked ARM64 (aarch64) installation via precise decord/torchcodec platform markers.ray_repartition_pipeline for dataset-level block repartitioning in Ray mode.override_num_blocks through the full call chain for controlling block parallelism on PB-scale datasets.DocumentLineDeduplicator for cross-document line-level dedup, removing boilerplate lines (templates, copyright notices, navigation bars) by global document frequency.exit(1)), Ray init/temp-dir fixes, valid API params (drop invalid max_new_tokens), PyArrow 20+ batch JSON reading, local-path aesthetics model support, and more performance/bug fixes.llm_extract_mapper, llm_condition_filter, and llm_structured_ops with unified llm_* naming and configurable inference strategies (join/agg/top-k planned)..tex archives and figure contexts.json[l].gz files can now be loaded directly, and Ray datasets gain proper support for reading compressed JSON files.View All Release and News Archive
The below list focuses on developer-facing integration and usages in alphabetical order. Missing your project / name? Feel free to open a PR or reach out.
Data-Juicer plugs into your existing stack and evolves with community contributions:
AgentScope ยท Apache Arrow ยท Apache HDFS ยท Apache Hudi ยท Apache Iceberg ยท Apache Paimon ยท Alibaba PAI ยท Delta Lake ยท DiffSynth-Studio ยท EasyAnimate ยท Eval-Scope ยท Huawei Ascend ยท Hugging Face ยท LanceDB ยท LLaMA-Factory ยท ModelScope ยท ModelScope Swift ยท NVIDIA NeMo ยท Ray ยท RM-Gallery ยท Trinity-RFT ยท Volcano Engine
Alibaba Group, Ant Group, BYD Auto, ByteDance, DTSTACK, JD.com, NVIDIA, OPPO, Xiaohongshu, Xiaomi, Ximalaya, and more.
CAS, Nanjing University, Peking University, RUC, Tsinghua University, UCAS, Zhejiang University, and more.
We believe in building together. Whether you're fixing a typo, crafting a new operator, or sharing a breakthrough recipe, every contribution shapes the future of data processing.
We welcome contributions at all levels:
| Discord | DingTalk |
|---|---|
![]() | ![]() |
Data-Juicer is made possible by the users and community:
For detailed documentation, please see here.
Quick Links:
demos/agent/; operators such as agent_bad_case_signal_mapper are also listed in docs/Operators.md)Data-Juicer is released under the Apache License 2.0. Attribution is appreciated: please use our badge, or text as "This project uses Data-Juicer: https://github.com/datajuicer".
If you find Data-Juicer useful in your work, please cite:
@inproceedings{djv1,
title={Data-Juicer: A One-Stop Data Processing System for Large Language Models},
author={Chen, Daoyuan and Huang, Yilun and Ma, Zhijian and Chen, Hesen and Pan, Xuchen and Ge, Ce and Gao, Dawei and Xie, Yuexiang and Liu, Zhaoyang and Gao, Jinyang and Li, Yaliang and Ding, Bolin and Zhou, Jingren},
booktitle={SIGMOD},
year={2024}
}
@article{djv2,
title={Data-Juicer 2.0: Cloud-Scale Adaptive Data Processing for and with Foundation Models},
author={Chen, Daoyuan and Huang, Yilun and Pan, Xuchen and Jiang, Nana and Wang, Haibin and Zhang, Yilei and Ge, Ce and Chen, Yushuo and Zhang, Wenhao and Ma, Zhijian and Huang, Jun and Lin, Wei and Li, Yaliang and Ding, Bolin and Zhou, Jingren},
journal={NeurIPS},
year={2025}
}
(ICML'25 Spotlight) Data-Juicer Sandbox: A Feedback-Driven Suite for Multimodal Data-Model Co-development
(CVPR'25) ImgDiff: Contrastive Data Synthesis for Vision Large Language Models
(NeurIPS'25) Diversity as a Reward: Fine-Tuning LLMs on a Mixture of Domain-Undetermined Data
(NeurIPS'25) MindGYM: What Matters in Question Synthesis for Thinking-Centric Fine-Tuning?
(ICML'26) DetailMaster: Can Your Text-to-Image Model Handle Long Prompts?
(Data Scaling) BiMix: A Bivariate Data Mixing Law for Language Model Pretraining
Python
99.8%