Skip to content
NVIDIA RAG Blueprint

NVIDIA RAG Blueprint Skill

Deploy, configure and troubleshoot the NVIDIA RAG Blueprint from your agent — Docker Compose, Helm or library, with feature toggles for VLM, guardrails and agentic RAG.

GitHub Docs

Install

Install with the skills CLI

One command for Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf and dozens of other agents. Needs Node.js; the skill is fetched straight from NVIDIA/skills.

$ npx skills add NVIDIA/skills --skill rag-blueprint

Run it in a terminal. The CLI finds the agents installed on your machine, asks which ones to add the skill to, and whether to install it into the folder you ran it from or for all your projects.

Other ways to install

Copy the whole skill folder — SKILL.md and any scripts or references beside it — into ~/.claude/skills/rag-blueprint/, where Claude Code picks it up in every project. Only git is needed.

tmp=$(mktemp -d) && \
  git clone --depth 1 --branch main https://github.com/NVIDIA/skills.git "$tmp" && \
  mkdir -p ~/.claude/skills && \
  cp -R "$tmp"/skills/rag-blueprint ~/.claude/skills/rag-blueprint

No scripts or references next to it? Saving the SKILL.md alone as ~/.claude/skills/rag-blueprint/SKILL.md works too.

Using another agent? Its personal skills folder
Codex
~/.agents/skills/
Cursor
~/.cursor/skills/
GitHub Copilot
~/.copilot/skills/
Gemini CLI
~/.gemini/skills/
Windsurf
~/.codeium/windsurf/skills/
OpenCode
~/.config/opencode/skills/

About

  • Routes deploy, configure, troubleshoot and teardown requests to the right playbook
  • Toggles agentic RAG, VLM, guardrails, query rewriting and observability features
  • Supports Docker Compose, Kubernetes/Helm and Python library deployments
  • Restricts the agent to read-only inspection commands via an allowed-tools allowlist
  • References the blueprint's own OpenAPI schemas instead of guessing endpoints

The NVIDIA RAG Blueprint is a reference retrieval-augmented-generation stack built on NIM microservices. This official skill gives a coding agent the operational knowledge to run it: bringing the stack up, turning individual features on and off, diagnosing why a service will not start, and tearing it back down cleanly.

What it covers

The skill routes an incoming request through an intent table and then reads the matching playbook before touching anything. Supported intents span the full lifecycle:

  • Deploy and install across Docker Compose, Kubernetes with Helm, and the Python library path.
  • Feature management — enable or disable agentic RAG, the vision-language model path, guardrails, query rewriting, reranking, summarisation, reasoning, observability and ingestion options — without hand-editing config files from memory.
  • Troubleshooting ingestion failures, model-serving errors, GPU allocation problems and service dependencies.
  • Shutdown and teardown of a running deployment.
Why it is safer than an ad-hoc agent session

The skill ships an explicit allowed-tools allowlist limited to read-only inspection: nvidia-smi, docker ps/logs/inspect, kubectl get/describe/logs, helm list/status, plus file reads and greps. An agent using it can diagnose your cluster without being handed a blank cheque to mutate it, and it is pointed at the repository's own OpenAPI schemas for the RAG server and ingestor server rather than guessing endpoints.

Requirements

A checkout of the NVIDIA RAG Blueprint repository; Docker Compose or Kubernetes/Helm for deployment; Python 3.11+ for library workflows; and NVIDIA GPU tooling for self-hosted NIM services.

Installing it

Version 2.6.0, Apache-2.0. Install the NVIDIA catalogue with npx skills add nvidia/skills or copy the single folder into your agent's skills directory. Compatible with Claude Code, Codex, Cursor and other Agent Skills runtimes.

Try it

Once installed, ask your agent something like:

"Ingestion has been failing since I enabled the VLM path on this RAG Blueprint deployment — find out why and tell me what to change."

SKILL.md

The instructions your agent loads, as published by NVIDIA.

SKILL.md
name
rag-blueprint
version
2.6.0
description
NVIDIA RAG Blueprint — deploy, configure, troubleshoot, and manage. Handles any RAG action: deploy, install, start, enable, disable, toggle, change, configure, troubleshoot, debug, fix, shutdown, stop, or tear down any RAG feature or service (Agentic RAG, VLM, guardrails, query rewriting, models, search, ingestion, observability, summarization, reasoning, and more).
license
Apache-2.0
compatibility
NVIDIA RAG Blueprint repository checkout; Docker/Compose or Kubernetes/Helm for deployments; Python 3.11+ for library workflows; NVIDIA GPU tooling for self-hosted NIM services.
metadata
author: "NVIDIA RAG <foundational-rag-dev@exchange.nvidia.com>" github-url: "https://github.com/NVIDIA-AI-Blueprints/rag" endpoint-openapi-schemas: - docs/api_reference/openapi_schema_rag_server.json - docs/api_reference/openapi_schema_ingestor_server.json argument-hint: deploy RAG | enable feature | disable feature | configure | troubleshoot | shutdown tags: - nvidia - blueprint - rag - deployment - configuration - troubleshooting languages: - python - typescript - shell frameworks: - fastapi - langchain - react - docker-compose - helm domain: ai-ml
allowed-tools
Bash(echo *) Bash(nvidia-smi *) Bash(curl --version *) Bash(docker ps *) Bash(docker info *) Bash(docker --version *) Bash(docker version *) Bash(docker logs *) Bash(docker inspect *) Bash(docker stats *) Bash(docker compose ps *) Bash(docker compose logs *) Bash(docker compose config *) Bash(docker compose version *) Bash(kubectl get *) Bash(kubectl describe *) Bash(kubectl version *) Bash(kubectl logs *) Bash(kubectl api-resources *) Bash(kubectl rollout status *) Bash(helm version *) Bash(helm list *) Bash(helm status *) Bash(oc get *) Bash(oc describe *) Bash(oc logs *) Bash(oc whoami *) Bash(oc version *) Bash(git rev-parse *) Bash(git describe *) Bash(git status *) Bash(python3 --version *) Bash(pip3 show *) Bash(df *) Bash(du *) Bash(cat /proc/*) Bash(cat /etc/os-release *) Bash(ss *) Bash(netstat *) Bash(ls *) Bash(grep *) Bash(lsof *) Bash(ps aux *) Read Grep Glob

NVIDIA RAG Blueprint

Purpose

Use this skill for NVIDIA RAG Blueprint operations: deployment, configuration,
troubleshooting, shutdown, and feature management across Docker, Helm, and
library deployments.

Instructions
  1. Match the user request to the intent routing table below.
  2. Read the referenced playbook before making changes.
  3. Use repository docs and deployment config files as the source of truth.
  4. Verify the affected service or workflow after changes.
Prerequisites
  • NVIDIA RAG Blueprint repository checkout.
  • Docker/Compose or Kubernetes/Helm for deployments.
  • Python 3.11+ for library workflows.
  • NVIDIA GPU tooling for self-hosted NIM services.
Autonomy Principles
  • Auto-detect everything: GPU, VRAM, drivers, Docker, CUDA, disk, OS, ports, existing services, NGC key, repo state.
  • If it can be checked with a command, check it — don't ask the user.
  • Ask only when user action is required: providing an API key, confirming data deletion, or choosing between equally valid options.
  • Once analysis is done, route to the correct workflow and execute.
Intent Detection

Determine what the user wants and route immediately:

User IntentAction
Deploy, install, set up, start RAGRead and follow references/deploy.md
Configure, enable, change, toggle a featureUse the Configure section below
Troubleshoot, debug, fix, error, unhealthyRead and follow references/troubleshoot.md
Stop, shutdown, tear down, clean upRead and follow references/shutdown.md

If the intent is ambiguous, infer from context (e.g., "RAG isn't working" → troubleshoot; "get RAG running" → deploy). Only ask if genuinely unclear.

---

Configure

Requires a running RAG deployment. If services are not running, deploy first via references/deploy.md.

Match the user's request to a reference file, then read and follow it:

Feature KeywordsReference
VLM, VLM embeddings, image captioningreferences/configure/vlm.md
NeMo Guardrailsreferences/configure/guardrails.md
Agentic RAG, planning/execution agent, agentic streaming, stage eventsreferences/configure/agentic-rag.md
Query rewriting, decomposition, multi-turnreferences/configure/query-and-conversation.md
Ingestion (text-only, audio, Nemotron Parse, OCR, batch CLI, NV-Ingest, volume mount, performance)references/configure/ingestion.md
Search, retrieval, hybrid search, multi-collection, metadata, filters, Elasticsearch filters, reranker, topK, accuracy/performancereferences/configure/search-and-retrieval.md
LLM/embedding/ranking model changes, vector DB, Milvus/Elasticsearch auth, service keys, model profiles, ports/GPUreferences/configure/models-and-infrastructure.md
Reasoning, thinking mode, reasoning_content, self-reflection, prompts, generation params (tokens, temperature, citations), per-request LLM paramsreferences/configure/reasoning-and-generation.md
Summarizationreferences/configure/summarization.md
Observability (tracing, Zipkin, Grafana, Prometheus)references/configure/observability.md
Multimodal query (image + text)references/configure/multimodal-query.md
Data catalog (collection/document metadata)references/configure/data-catalog.md
User interface (UI settings, reasoning panel, metadata filters)references/configure/user-interface.md
API reference (endpoints, schemas)references/configure/api-reference.md
Evaluation (RAGAS metrics)references/configure/evaluation.md (and skill rag-eval)
MCP server & client, agent toolkitreferences/configure/mcp.md
Migration (version upgrades)references/configure/migration.md
Notebooks (setup and catalog)references/configure/notebooks.md
Configure Flow
  1. Match the user's request to a reference file from the table above.
  1. Detect what's running:
   echo "=== NIM ===" && docker ps --format '{{.Names}}' 2>/dev/null | grep -iE '(nim-llm|nemotron-(vlm-)?embedding|nemotron-ranking|nemotron-vlm|nemotron-3-nano-omni|page-elements|graphic-elements|table-structure|nemotron-ocr)' || echo "NO_LOCAL_NIMS"; echo "=== RAG ===" && docker ps --format '{{.Names}}' 2>/dev/null | grep -iE '(rag-server|ingestor-server|elasticsearch|milvus|seaweedfs|lancedb)' || echo "NO_DOCKER_RAG"; echo "=== K8S ===" && kubectl get pods -n rag 2>/dev/null | head -5 || echo "NO_K8S"; echo "=== LIBRARY ===" && ps aux 2>/dev/null | grep -E '(nvidia_rag|uvicorn.*rag)' | grep -v grep || echo "NO_LIBRARY"
  1. Use this table to determine platform, deployment type, and where config lives:
Local NIMs running?RAG services running?Deployment TypeConfig Location
Yes (Docker)AnySelf-hosteddeploy/compose/.env
NoYes (Docker)NVIDIA-hosteddeploy/compose/nvdev.env
Yes (K8s pods)AnySelf-hostedvalues.yaml (NIM sections)
NoYes (K8s pods)NVIDIA-hostedvalues.yaml (envVars)
—Library processesLibrary modenotebooks/config.yaml
NoNoNot runningDeploy first via references/deploy.md

Tell the user what you detected and ask to confirm. Example: "I see local NIM containers running (nim-llm-ms, nemotron-vlm-embedding-ms) — this is a self-hosted deployment. Config file is deploy/compose/.env. Correct?"

  1. Check current feature state before changing anything — read the config location from step 3, then cross-check the live service:
  • Docker: docker exec rag-server env 2>/dev/null | grep -E "<VAR_NAME>"
  • Helm: kubectl get pod -n rag -l app=rag-server -o jsonpath='{.items[0].spec.containers[0].env}' 2>/dev/null

If the config file and live service disagree, tell the user the service has stale config and will need a restart.

  1. If the feature needs extra GPUs, check availability against hardware restrictions (see below):
   nvidia-smi --query-gpu=index,name,memory.total,memory.used --format=csv,noheader 2>/dev/null || echo "NO_GPU"
  1. Read the reference file and apply changes:
  • Docker: edit the env file (uncomment to enable, re-comment to disable — the env file is the source of truth). Then restart the affected service:
     source <env-file> && docker compose -f deploy/compose/<compose-file> up -d
ServiceCompose File
rag-serverdocker-compose-rag-server.yaml
ingestor-serverdocker-compose-ingestor-server.yaml
Elasticsearch, Milvus, etcd, SeaweedFSvectordb.yaml
NIM containers (LLM, embedding, ranking, VLM, OCR, parse, audio, extraction)nims.yaml
guardrailsdocker-compose-nemo-guardrails.yaml
observability (Grafana, Prometheus, Zipkin)observability.yaml
  • Helm: edit values.yaml, then upgrade: helm upgrade rag <chart> -n rag -f values.yaml
  • Library: edit notebooks/config.yaml, then restart the Python process
  1. Verify:
  • Docker: docker ps --format "table {{.Names}}\t{{.Status}}" | head -20; curl -s http://localhost:8081/v1/health?check_dependencies=true 2>/dev/null | head -1
  • Helm: kubectl get pods -n rag; kubectl rollout status deployment/rag-server -n rag --timeout=120s
  • Library: curl -s http://localhost:8081/v1/health 2>/dev/null | head -1
  1. If restart fails, read references/troubleshoot.md. If multiple features requested, repeat from step 1 for each.
Examples
  • "Deploy RAG" -> route to references/deploy.md.
  • "Enable VLM" -> route to references/configure/vlm.md.
  • "RAG is unhealthy" -> route to references/troubleshoot.md.
  • "Stop RAG" -> route to references/shutdown.md.
Limitations
  • Operational guidance only applies to this RAG Blueprint repository.
  • Live deployment changes require a running Docker, Helm, or library target.
  • Secrets such as NGC_API_KEY must be supplied by the user environment.
Troubleshooting
Error / signalWhat to do
Services are not runningFollow references/deploy.md before configuring features.
Restart or health check failsFollow references/troubleshoot.md.
User requests teardownFollow references/shutdown.md and confirm destructive cleanup.
When User Says "Configure" Without Specifics

Run steps 2–3 above, then read the identified config file to list what's currently enabled:

grep -E "^(export )?(ENABLE_|APP_)" <config-file> 2>/dev/null | sort

Summarize what's running and enabled, then ask which feature to change.

---

Hardware Restrictions

Read docs/support-matrix.md for current GPU requirements per deployment mode.
Read docs/service-port-gpu-reference.md for port mappings and GPU assignments.

GPUFeature Restrictions
B200No VLM, No Guardrails, No Nemotron Parse. May need multi-GPU LLM (LLM_MS_GPU_ID).
RTX PRO 6000No Nemotron Parse. No Audio on Helm.
Install

Trains, distils, quantises, evaluates, exports and runs inference for RT-DETR real-time object detection in NVIDIA TAO, routing training through AutoML hyperparameter search by default.

Browse all skills →