NVIDIA RAG Blueprint
Vendor-stack study notes — verified against NVIDIA's own pages on the access date shown; product names and versions move fast, re-verify before relying on them.
Accessed/verified: 2026-07-14. Repo: github.com/NVIDIA-AI-Blueprints/rag, current
release v2.6.0 (2026-06-04) [rag-github].
What it is. The org's "reference solution for a foundational Retrieval Augmented Generation (RAG) pipeline" [blueprints-org]: one deployable artifact that wires the whole enterprise-RAG diagram — multimodal extraction, hybrid retrieval, reranking, generation with citations — out of NIM microservices, with Docker Compose and Helm deployments and OpenAI-compatible APIs on top [rag-github]. It is the concrete instantiation of the reference architecture in the enterprise-RAG brief §2/§4; this page is the operator's view.
Architecture and exact NIM names
Three services front the pipeline: a LangChain-based RAG orchestrator server (port 8081), the NeMo Retriever extraction ingestor server (port 8082), and a RAG UI [rag-github] [rag-hosted-deploy]. Ingestion pulls text, images, tables, charts, infographics, and audio out of documents; queries are embedded, matched "against enterprise data stored in a cuVS accelerated Vector Database," optionally reranked, and answered with citations [rag-github].
Default model wiring (README, v2.6.0) [rag-github]:
| Role | NIM / model id |
|---|---|
| Generation | nemotron-3-super-120b-a12b |
| Embedding | llama-nemotron-embed-1b-v2 |
| Reranking | llama-nemotron-rerank-1b-v2 |
| Extraction — page layout | Nemotron Page Elements NIM (v3) |
| Extraction — tables | Nemotron Table Structure NIM (v1) |
| Extraction — charts/graphics | Nemotron Graphic Elements NIM (v1) |
| Extraction — OCR | Nemotron OCR NIM |
| Extraction — model-based PDF parse | Nemotron Parse NIM |
Optional NIMs [rag-github]: Llama 3.1 NemoGuard 8B (content safety & topic control —
the NeMo Guardrails hook), Nemotron Nano Omni 30B A3B (reasoning/captioning),
PaddleOCR, llama-nemotron-embed-vl-1b-v2 + llama-nemotron-rerank-vl-1b-v2
(multimodal retrieval), NVIDIA Riva ASR (audio).
Vector store choice: "The default is Elasticsearch. Another alternative is Milvus (GPU-accelerated)" [rag-github]. Elasticsearch buys the boring, battle-tested hybrid (dense + BM25 in one engine); Milvus buys cuVS/CAGRA GPU indexing when QPS or index-build time dominates — the CPU-HNSW-vs-GPU-CAGRA framing is in the brief §4.3.
Feature list (README) [rag-github]: hybrid dense+sparse search, reranking, multi-turn conversation, agentic RAG via a LangGraph plan-and-execute pipeline for multi-hop queries, optional reflection and guardrails, RAGAS evaluation, OpenAI-compatible APIs.
How you'd use it
Two Docker Compose paths, differing only in where the models run:
- NVIDIA-hosted models (light local footprint — you run only the servers, models
are API calls using your NVIDIA/NGC API key) [rag-hosted-deploy]:
export NGC_API_KEY="nvapi-..."thenecho "${NGC_API_KEY}" | docker login nvcr.io -u '$oauthtoken' --password-stdin- Clone the repo,
source deploy/compose/.env docker compose -f deploy/compose/vectordb.yaml up -ddocker compose -f deploy/compose/docker-compose-ingestor-server.yaml up -ddocker compose -f deploy/compose/docker-compose-rag-server.yaml up -d- Health:
curl 'http://<host>:8082/v1/health?check_dependencies=true'(ingestor) and:8081/v1/health(RAG server); then open the UI, upload documents, query.
- Self-hosted on-prem models (the recommended single-node production shape; ~200GB
free disk for model cache) [rag-selfhosted-deploy]: same sequence plus
export MODEL_DIRECTORY=~/.cache/model-cacheand, first,USERID=$(id -u) docker compose -f deploy/compose/nims.yaml up -dto bring up the NIMs locally. Running containers you should see:nim-llm-ms,nemotron-ranking-ms,nemotron-vlm-embedding-ms,elasticsearch,seaweedfs,rag-server,rag-frontend,ingestor-server[rag-selfhosted-deploy].
Kubernetes: Helm charts, plus Red Hat OpenShift support behind an openshift.enabled
flag [rag-github]. Constraints worth quoting: Docker Engine >= 24.0 ("Docker Engine
29.5.x is not supported for this release"), Docker Compose >= 2.29.1
[rag-hosted-deploy]. The docs tree also ships a retrieval-only deployment, a Python
client library mode, and a containerless "lite mode" notebook [rag-docs-tree].
(A hosted trial exists on build.nvidia.com, but that page would not load over plain
HTTP this session — the NVIDIA-hosted compose path above is the verified equivalent.)
When to reach for it vs building yourself
Reach for it when you want the pinned, co-tested NVIDIA stack — extraction NIMs + embed/rerank + Nemotron generation on your own GPUs, with data-sovereignty and an OpenAI-compatible seam — and your pipeline shape matches its opinions (its extraction, its two vector stores). Build yourself (or unbundle it) when you need a different embedder/store/LLM mix, CPU-only economics, or a thin pipeline where a few hundred lines of LangChain/LlamaIndex beat operating ~8 containers; the component menu per stage is in the brief §2. Middle path: keep nv-ingest and the retriever NIMs, swap the generator — everything speaks OpenAI-compatible APIs.
Interview angle
"The RAG blueprint is NVIDIA's whole-diagram artifact: v2.6.0 pins Nemotron 3 Super
(nemotron-3-super-120b-a12b) for generation, llama-nemotron-embed-1b-v2 and
llama-nemotron-rerank-1b-v2 for retrieval, and the Nemotron page-elements /
table-structure / graphic-elements / OCR NIMs for extraction. Elasticsearch is the
default store with GPU-accelerated Milvus (cuVS/CAGRA) as the alternative — that's the
CPU-HNSW-vs-GPU-graph-index trade. I'd deploy compose-on-one-node first, hosted NIMs to
prototype, self-hosted for data sovereignty, Helm when it has to scale."
Sources
rag-github: {title: "NVIDIA RAG Blueprint — NVIDIA-AI-Blueprints/rag README (v2.6.0; default model ids; features; Elasticsearch/Milvus)", url: "https://github.com/NVIDIA-AI-Blueprints/rag", accessed: "2026-07-14"}
rag-hosted-deploy: {title: "RAG Blueprint — Deploy with Docker (NVIDIA-hosted models): commands, ports, prerequisites", url: "https://github.com/NVIDIA-AI-Blueprints/rag/blob/main/docs/deploy-docker-nvidia-hosted.md", accessed: "2026-07-14"}
rag-selfhosted-deploy: {title: "RAG Blueprint — Deploy with Docker (self-hosted models): nims.yaml, 200GB cache, container list", url: "https://github.com/NVIDIA-AI-Blueprints/rag/blob/main/docs/deploy-docker-self-hosted.md", accessed: "2026-07-14"}
rag-docs-tree: {title: "RAG Blueprint — docs/ directory (deployment guide inventory: helm, MIG, retrieval-only, python client, lite mode)", url: "https://github.com/NVIDIA-AI-Blueprints/rag/tree/main/docs", accessed: "2026-07-14"}
blueprints-org: {title: "NVIDIA-AI-Blueprints GitHub organization — repo listing (rag description)", url: "https://github.com/orgs/NVIDIA-AI-Blueprints/repositories", accessed: "2026-07-14"}