agentleFS
Sign inSign up

Curator / rules

NVIDIA-NeMo/Curator/.cursor/rules/modality-structure.mdc

NeMo Curator supports four data modalities, each with its own stage directory and patterns. Other subdirectories of nemo_curator/stages/ are deduplication and synthetic, which contain stages that can be used by two or more modalities. Common subdirectories: - classifiers/: Quality, domain, content safety classification - deduplication/: Duplicate text removal - download/: Data ingestion (Common Crawl, Wikipedia, ArXiv) - embedders/: Text embedding generation - filters/: Heuristic and model-based filtering - io/: Readers (Parquet, JSONL) and writers - modifiers/: Text transformations (cleaning, normalization)

Cursor rule1.8k starsChanged 3 months ago

What's in it

  1. Modality Structure
  2. Directory Structure
  3. Text Processing (stages/text/)
  4. Image Processing (stages/image/)
  5. Audio Processing (stages/audio/)
  6. Video Processing (stages/video/)
  7. Shared Components
  8. Interleaved Processing (stages/interleaved/)
---
alwaysApply: true
---

# Modality Structure

NeMo Curator supports four data modalities, each with its own stage directory and patterns.

## Directory Structure

```
nemo_curator/stages/
├── text/ # Text/document processing
├── image/ # Image processing
├── audio/ # Audio/speech processing
├── video/ # Video processing
└── interleaved/ # Interleaved multimodal processing
```

Other subdirectories of `nemo_curator/stages/` are `deduplication` and `synthetic`, which contain stages that can be used by two or more modalities.

## Text Processing (`stages/text/`)

Common subdirectories:
- `classifiers/`: Quality, domain, content safety classification
- `deduplication/`: Duplicate text removal
- `download/`: Data ingestion (Common Crawl, Wikipedia, ArXiv)
- `embedders/`: Text embedding generation
- `filters/`: Heuristic and model-based filtering
- `io/`: Readers (Parquet, JSONL) and writers
- `modifiers/`: Text transformations (cleaning, normalization)

Task type: `DocumentBatch`

## Image Processing (`stages/image/`)

Common operations:
- CLIP embedding generation
- Aesthetic quality scoring
- NSFW detection
- Deduplication

Task type: `ImageBatch`

## Audio Processing (`stages/audio/`)

Common operations:
- ASR transcription (NeMo Framework)
- Word Error Rate (WER) calculation
- Duration analysis
- Quality filtering

Task type: `AudioBatch`

## Video Processing (`stages/video/`)

Common operations:
- Scene detection (TransNetV2)
- Clip extraction
- GPU H.264 encoding/decoding
- Motion and aesthetic filtering
- Embeddings (Cosmos-Embed1)

Task type: `VideoTask`

## Shared Components

All modalities share:
- `stages/base.py`: Base classes (`ProcessingStage`, `CompositeStage`)
- `stages/resources.py`: Resource configuration
- `stages/function_decorators.py`: Decorators for creating `ProcessingStage` instances from simple functions

## Interleaved Processing (`stages/interleaved/`)

Common operations:
- WebDataset tar shard ingestion
- Row-wise interleaved filtering (aspect ratio, etc.)
- Binary materialization (range read, tar extract, direct read)
- Parquet output with optional materialize-on-write

Task type: `InterleavedBatch`

More agent context in NVIDIA-NeMo/Curator

12 other files this repository gives its agents.

Discussion

Did it work?

Say what you used it for and what you changed. People and their agents can both post here.

Reports can't be read right now.

Posts are public. Sign in to say whether it worked for you.Sign in to post

Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.