Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
D

data-juicer

> DevOps
Open source

Data processing for and with foundation models! ➡️ ➡️

6.8K stars0 likes0 views
WebsiteGitHub

About

Data processing for and with foundation models! ➡️ ➡️

# Data-Juicer: The Data Operating System for the Foundation Model Era



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](https://www.alibabacloud.com/help/en/pai/user-guide/quickly-submit-a-datajuicer-task)**. > **Juicer**, our natural-language data-refinement model, turns cleaning instructions, filtering rules, and semantic-tagging requirements into structured outputs. Try it on [HuggingFace](https://huggingface.co/datajuicer/Juicer-35B-A3B) or [ModelScope](https://www.modelscope.cn/models/Data-Juicer/Juicer-35B-A3B), or see the **[Juicer docs](docs/Juicer.md)**. --- ## Quick Start **Zero-install exploration**: - [JupyterLab Playground with Tutorials](http://8.138.149.181/) - [Ask DJ Copilot](https://datajuicer.github.io/data-juicer/en/main/docs_index.html) **Install & run**: ```bash uv pip install py-data-juicer dj-process --config demos/process_simple/process.yaml ``` **Or compose in Python**: ```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) ``` --- ## ✨ Why Data-Juicer? ### 1. Modular & Extensible Architecture - **200+ operators** spanning text, image, audio, video, and multimodal data - **Recipe-first**: Reproducible YAML pipelines you can version, share, and fork like code - **Composable**: Drop in a single operator, chain complex workflows, or orchestrate full pipelines - **Hot-reload**: Iterate on operators without pipeline restarts ### 2. Full-Spectrum Data Intelligence - **Foundation Models**: Pre-training, fine-tuning, RL, and evaluation-grade curation - **Agent Systems**: Clean tool traces, structure context, de-identification, and quality gating - **RAG & Analytics**: Extraction, normalization, semantic chunking, deduplication, and data profiling ### 3. Production-Ready Performance - **Scale**: Process 70B samples in 2h on 50 Ray nodes (6400 cores) - **Efficiency**: Deduplicate 5TB in 2.8h using 1280 cores - **Optimization**: Automatic OP fusion (2-10x speedup), adaptive parallelism, CUDA acceleration, robustness - **Observability**: Built-in tracing for debugging, auditing, and iterative improvement > *⭐ 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. --- ## News [2026-09-08] Release v1.6.0: Juicer Model Release; Cluster-Aware Partitioning; Config Validation; LiteLLM Backend * *Cluster-Aware Partitioning* — Automatic partition counts use live Ray cluster resources. Manual `partition.size` targets split data at row boundaries, including inputs with fewer blocks than partitions. * ✅ *Config Validation* — Pipeline preflight catches invalid operator settings and executor/schema mismatches before processing. Reader defaults now apply consistently across execution and analysis. * *LiteLLM Backend* — Select `api_backend="litellm"` in `prepare_api_model` for chat, embedding, and Responses requests through provider-specific model routing; the existing OpenAI-compatible backend remains the default. * *Documentation Refresh* — Rewritten English and Chinese guides cover installation, processing, analysis, configuration, export, and the playground. Added documentation for 28 existing operators, corrected examples, and separated guide and API navigation with incremental versioned documentation builds. * ️ *Unified Remote Export* — Local, S3, and HDFS export share filesystem dispatch; JSONL export now serializes Python dates and datetimes in ISO format. * ️ *Image OHEM Selector* — New `image_ohem_selector` selects high-loss image samples using a user-supplied scoring function and a top-k or ratio budget. * ⚡ *Bounded Tokenizer Batches* — Token-count filters limit tokenizer batch sizes to reduce peak memory on long inputs. * *Robustness Fixes* — Fixed fused-filter cache isolation, MinHash state reuse and empty inputs, deduplicator execution-mode declarations, empty text chunks, gzip JSONL HPO sampling, and pandas extension-dtype handling. HPO modules can now be imported without starting a sweep. [2026-08-25] Juicer Model Release: Natural-Language Data Refinement; Local Deployment; Playground * *Natural-Language Data Refinement* — [Juicer](docs/Juicer.md) follows natural-language instructions for text cleaning, filtering, and semantic labeling. * *Local Deployment* — Download the [model](https://huggingface.co/datajuicer/Juicer-35B-A3B) for local deployment. * *Playground* — Try data-refinement recipes in the [Juicer Playground](https://github.com/datajuicer/data-juicer-hub/tree/main/juicer_playground). [2026-08-07] Release v1.5.5: External OP Plugins; HDFS I/O & Ray Data Optimizations; Elastic Multi-node Sharding * *External OP Plugins* — Third-party operators can now be shipped as standalone pip packages and auto-registered via Python entry points. * ️ *HDFS I/O* — Added `hdfs://` support for dataset loading and exporting, aligned with the existing S3 path. * ⚡ *Ray Data Optimizations* — Removed eager actions that forced premature execution, migrated to the public `TaskPoolStrategy`/`ActorPoolStrategy` APIs, parallelized partitioned execution, preserved elastic actor pool concurrency, and kept partition checkpoints valid across block-layout changes. * *Elastic Multi-node Sharding* — New runnable reference workflow under `demos/elastic_sharding/` that shards large JSONL datasets across nodes via node-local Ray executors, with retries and ordered merge. * *Distributed RayAnalyzer* — New `RayAnalyzer` computes and aggregates dataset stats with Ray native operators, avoiding pandas materialization. * *Memory Optimizations* — Streamed n-gram counting in repetition filters and block-wise MinHash permutations cut peak memory (768 → 272 MiB RSS) without changing results. * *Robustness & Dependency Fixes* — Fixed `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. [2026-07-17] Release v1.5.4: HumanVBench Video OPs; Batch-local Stage Fusion; Robustness Fixes * ‍‍ *New OPs* — Added 9 human-centric video understanding operators (human track extraction, active-speaker detection, audio ASR, speech emotion & age/gender detection, face demographic & attribute/emotion captioning, face-ratio filtering) for building HumanVBench (CVPR'26)-style pipelines. * ⚡ *Batch-local Stage Fusion* — New `FusedSequentialBatchOp` fuses consecutive OPs within a batch to cut inter-op overhead and speed up sequential processing. * *Robustness & Install Fixes* — Fixed Ray deduplicator shared-state handling, resolved a relative-path issue in the Ray checkpoint writer, made `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. * *Test Coverage & Cleanup* — Expanded tests for utility functions and model handling, plus assorted code cleanup. [2026-06-26] Release v1.5.3: VLA Ops Enhancements; Ray Repartition Pipeline; Scalability & Robustness * *VLA Ops Enhancements* — Expanded embodied-AI processing with 10+ new/renamed VLA operators (camera calibration via DeepCalib/DroidCalib/MoGe, atomic action segmentation, hand action computation & motion smoothing, clip reassembly, trajectory overlay, LeRobot export) and a complete VLA pipeline demo. * *Ray Repartition Pipeline* — New `ray_repartition_pipeline` for dataset-level block repartitioning in Ray mode. * ⚡ *Scalable Ray Data Reads* — Wired `override_num_blocks` through the full call chain for controlling block parallelism on PB-scale datasets. * *Test Coverage Expansion* — Added 409 new test cases across 18 test files. * *Stability & Robustness Fixes* — JSONStreamDatasource schema unification, OP env version resolution, FUSE-safe rmtree for PartitionedRayExecutor, deprecated model name updates, and num_proc handling fixes. [2026-05-29] Release v1.5.2: Semantic LLM OPs, Cross-doc Line Dedup & Leaner Dependencies * *New Deduplicator* — Added `DocumentLineDeduplicator` for cross-document line-level dedup, removing boilerplate lines (templates, copyright notices, navigation bars) by global document frequency. * *Agent Data Quality Toolkit* — Shipped interaction-quality OPs & recipe, a bad-case HTML report, and more robust JSONL / HuggingFace meta loading. * *Leaner & Faster Install* — Slimmed the default dependency set (Ray, audio, spaCy, av, etc. moved to on-demand extras) to speed up installation. * *Stability & Robustness Fixes* — Library-safe error handling (raise over `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. * *Semantic LLM Operators* — Introduced `llm_extract_mapper`, `llm_condition_filter`, and `llm_structured_ops` with unified `llm_*` naming and configurable inference strategies (join/agg/top-k planned). [2026-03-17] Release v1.5.1: LaTeX OPs; Compressed Format Support; Operator Robustness Fixes * Two new LaTeX-focused mapper OPs shipped, extending data-juicer's document processing capabilities to handle `.tex` archives and figure contexts. * ️ Compressed dataset format support: `json[l].gz` files can now be loaded directly, and Ray datasets gain proper support for reading compressed JSON files. * New documentation added covering cache, export, and tracing workflows to help users better understand and debug data processing pipelines. * Major refactor and upgrade of data-juicer-agents completed: The project architecture and CLI/session capabilities were comprehensively redesigned for better maintainability and extensibility. See [date-juicer-agents](https://github.com/datajuicer/data-juicer-agents) for more details.

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •JupyterLab Playground with Tutorials
  • •Ask DJ Copilot
  • •200+ operators spanning text, image, audio, video, and multimodal data
  • •Recipe-first: Reproducible YAML pipelines you can version, share, and fork like code
  • •Composable: Drop in a single operator, chain complex workflows, or orchestrate full pipelines
  • •Hot-reload: Iterate on operators without pipeline restarts
  • •Foundation Models: Pre-training, fine-tuning, RL, and evaluation-grade curation
  • •Agent Systems: Clean tool traces, structure context, de-identification, and quality gating
  • •RAG & Analytics: Extraction, normalization, semantic chunking, deduplication, and data profiling
  • •Scale: Process 70B samples in 2h on 50 Ray nodes (6400 cores)

> Tags

Pythondatadata-analysisdata-pipelinedata-processing

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
CategoryDevOps
PricingOpen source

> Related tools

D
Docker
容器化平台,标准化应用交付
G
GitHub Actions
GitHub 原生 CI/CD 工作流
N
Nginx
高性能 Web 服务器与反向代理