NVIDIA-AI-Blueprints/rag
This NVIDIA RAG blueprint serves as a reference solution for a foundational Retrieval Augmented Generation (RAG) pipeline.
What it solves
This project provides a reference architecture for building enterprise-grade Retrieval-Augmented Generation (RAG) pipelines. It addresses the need for AI responses that are grounded in trusted, real-time enterprise data to reduce hallucinations, ensure accuracy, and maintain compliance and freshness of information.
How it works
The system uses a modular orchestration layer (based on LangChain) to coordinate several GPU-accelerated components:
- Data Ingestion: Extracts multimodal content (text, tables, charts, infographics, and audio) from documents using specialized NIM microservices.
- Retrieval: Converts queries into embeddings and searches a GPU-accelerated vector database (such as Elasticsearch or Milvus) using hybrid search (dense and sparse).
- Refinement: Employs reranking models to improve the precision of retrieved passages.
- Generation: Uses LLMs (like Nemotron) to generate grounded responses, with optional reflection steps and programmable guardrails for safety.
- Agentic RAG: For complex queries, it implements a LangGraph plan-and-execute pipeline that handles multi-hop and cross-document searches through scope discovery and parallel task execution.
Who it’s for
Developers and enterprises looking to deploy scalable, low-latency RAG systems that can handle multimodal data and complex, multi-step reasoning queries.
Highlights
- Multimodal Support: Capable of extracting and processing data from tables, charts, and audio within documents.
- Agentic Capabilities: Includes a plan-and-execute pipeline for ambiguous or multi-hop queries.
- GPU Acceleration: Leverages NVIDIA NIM microservices and cuVS for high-performance indexing and search.
- Enterprise Ready: Includes a reference UI, OpenAI-compatible APIs, and support for deployment via Docker or Kubernetes/OpenShift.
- Evaluation Tools: Integrated RAGAS framework scripts for quality benchmarking.