Prerequisites for NeMo Retriever Library
Before you begin using NeMo Retriever Library, ensure the following software and hardware prerequisites are met.
Note
NVIDIA Ingest (nv-ingest) has been renamed NeMo Retriever Library.
Software Requirements
- Linux operating systems (Ubuntu 22.04 or later recommended)
- Docker
- Docker Compose
- Docker Buildx
>= 0.17(Compose 2.40+ enforces this) - CUDA Toolkit (NVIDIA Driver >=
535, CUDA >=12.2) - NVIDIA Container Toolkit
- Python
>= 3.12— required to install and run the NeMo Retriever Library Python API, CLI, and related packages from PyPI (for examplepiporuv). Older Python versions will fail dependency resolution without a clear error. - UV Python package and environment manager (optional; recommended for creating isolated environments)
Note
When you use UV, create the environment with Python 3.12 or later — for example, uv venv --python 3.12. This matches the requires-python metadata in the library packages.
Hardware Requirements
The full ingestion pipeline is designed to consume significant CPU and memory resources to achieve maximal parallelism. Resource usage scales up to the limits of your deployed system.
For additional hardware details, refer to Support Matrix.
Recommended Production Deployment Specifications
- System Memory: At least 256 GB RAM
- CPU Cores: At least 32 CPU cores
- GPU: NVIDIA GPU with at least 24 GB VRAM (e.g., A100, H100, L40S, or equivalent)
Note
Using less powerful systems or lower resource limits is still viable, but performance will suffer.
Resource Consumption Notes
- The pipeline performs runtime allocation of parallel resources based on system configuration
- Memory usage can reach up to the full system capacity for large document processing
- CPU utilization scales with the number of concurrent processing tasks
- GPU is required for image processing NIMs, embeddings, and other GPU-accelerated tasks
Scaling Considerations
For production deployments processing large volumes of documents, consider: - Higher memory configurations for processing large PDF files or image collections - Additional CPU cores for improved parallel processing - Multiple GPUs for distributed processing workloads
For guidance on choosing between static and dynamic scaling modes, and how to configure them in docker-compose.yaml, see Scaling Modes.
Environment Requirements
Ensure your deployment environment meets these specifications before running the full pipeline. Resource-constrained environments may experience performance degradation.