RAG Blueprint
NVIDIAOfficialCreated by NVIDIA RAG
- Skill
- Tool integration
- Automation and integrations
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The NVIDIA RAG Blueprint skill provides a structured operational framework for managing RAG services. It automates the detection of deployment environments (Docker, Helm, or library-based) and guides users through installation, configuration, troubleshooting, and teardown procedures. By mapping user intent to specific reference documentation and configuration files, it ensures consistent management of features like Agentic RAG, VLM, guardrails, and ingestion pipelines.
What it does
- Deploys and manages RAG services using Docker Compose or Helm charts.
- Configures specific RAG features such as Agentic RAG, VLM, and NeMo Guardrails.
- Troubleshoots service health and connectivity issues.
- Provides automated environment detection to identify active services and configuration locations.
- Supports lifecycle management including startup, shutdown, and teardown of RAG infrastructure.
- Validates configuration changes against live service states.
When to use it
- When you need to deploy or tear down an NVIDIA RAG Blueprint environment.
- When you need to enable or toggle specific features like Agentic RAG or VLM.
- When a RAG service is reporting errors or is in an unhealthy state.
- When you need to update configuration settings for models, search, or observability.
Advantages
- Standardizes operational procedures across different deployment types.
- Reduces manual configuration errors by referencing source-of-truth documentation.
- Automates environment discovery to quickly identify the correct configuration files.
- Provides clear paths for both global deployment-wide changes and per-request overrides.
Usage examples
- “Deploy the RAG Blueprint.”
- The agent will read the deployment documentation and initiate the setup process based on the detected environment.
- “Enable Agentic RAG.”
- The agent will identify the current deployment mode, locate the relevant configuration file, and guide you through enabling the agentic pipeline.
- “My RAG service is unhealthy.”
- The agent will run diagnostic checks on the containers or pods and suggest troubleshooting steps based on the error state.
- “Stop all RAG services.”
- The agent will execute the shutdown sequence to safely tear down the RAG infrastructure.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/nvidia/rag-blueprint/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip rag-blueprint.zip -d .agents/skills
Documentation by NVIDIA RAG
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
Match the user request to the intent routing table below.
Read the referenced playbook before making changes.
Use repository docs and deployment config files as the source of truth.
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 Intent | Action |
|---|---|
| Deploy, install, set up, start RAG | Read and follow references/deploy.md |
| Configure, enable, change, toggle a feature | Use the Configure section below |
| Troubleshoot, debug, fix, error, unhealthy | Read and follow references/troubleshoot.md |
| Stop, shutdown, tear down, clean up | Read 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 Keywords | Reference |
|---|---|
| VLM, VLM embeddings, image captioning | references/configure/vlm.md |
| NeMo Guardrails | references/configure/guardrails.md |
| Agentic RAG, planning/execution agent, agentic streaming, stage events | references/configure/agentic-rag.md |
| Query rewriting, decomposition, multi-turn | references/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/performance | references/configure/search-and-retrieval.md |
| LLM/embedding/ranking model changes, vector DB, Milvus/Elasticsearch auth, service keys, model profiles, ports/GPU | references/configure/models-and-infrastructure.md |
Reasoning, thinking mode, reasoning_content, self-reflection, prompts, generation params (tokens, temperature, citations), per-request LLM params | references/configure/reasoning-and-generation.md |
| Summarization | references/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 toolkit | references/configure/mcp.md |
| Migration (version upgrades) | references/configure/migration.md |
| Notebooks (setup and catalog) | references/configure/notebooks.md |
Configure Flow
Match the user's request to a reference file from the table above.
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"Use this table to determine platform, deployment type, and where config lives:
Local NIMs running? RAG services running? Deployment Type Config Location Yes (Docker) Any Self-hosted deploy/compose/.envNo Yes (Docker) NVIDIA-hosted deploy/compose/nvdev.envYes (K8s pods) Any Self-hosted values.yaml(NIM sections)No Yes (K8s pods) NVIDIA-hosted values.yaml(envVars)— Library processes Library mode notebooks/config.yamlNo No Not running Deploy first via references/deploy.mdTell 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?"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.
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"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 -dService Compose File rag-server docker-compose-rag-server.yamlingestor-server docker-compose-ingestor-server.yamlElasticsearch, Milvus, etcd, SeaweedFS vectordb.yamlNIM containers (LLM, embedding, ranking, VLM, OCR, parse, audio, extraction) nims.yamlguardrails docker-compose-nemo-guardrails.yamlobservability (Grafana, Prometheus, Zipkin) observability.yamlHelm: edit
values.yaml, then upgrade:helm upgrade rag <chart> -n rag -f values.yamlLibrary: edit
notebooks/config.yaml, then restart the Python process
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 -1Helm:
kubectl get pods -n rag; kubectl rollout status deployment/rag-server -n rag --timeout=120sLibrary:
curl -s http://localhost:8081/v1/health 2>/dev/null | head -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_KEYmust be supplied by the user environment.
Troubleshooting
| Error / signal | What to do |
|---|---|
| Services are not running | Follow references/deploy.md before configuring features. |
| Restart or health check fails | Follow references/troubleshoot.md. |
| User requests teardown | Follow 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 | sortSummarize 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.
| GPU | Feature Restrictions |
|---|---|
| B200 | No VLM, No Guardrails, No Nemotron Parse. May need multi-GPU LLM (LLM_MS_GPU_ID). |
| RTX PRO 6000 | No Nemotron Parse. No Audio on Helm. |
Files
- ATTRIBUTION.mdAdded by AutoGineer901 B
- BENCHMARK.md4.6 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md11.1 KiB
- eval/h100.json2.5 KiB
- eval/nvidia_hosted.json3.6 KiB
- references/configure/agentic-rag.md5.0 KiB
- references/configure/api-reference.md1.6 KiB
- references/configure/data-catalog.md1.7 KiB
- references/configure/evaluation.md2.8 KiB
- references/configure/guardrails.md1.6 KiB
- references/configure/ingestion.md3.6 KiB
- references/configure/mcp.md1.3 KiB
- references/configure/migration.md1.6 KiB
- references/configure/models-and-infrastructure.md4.6 KiB
- references/configure/multimodal-query.md2.0 KiB
- references/configure/notebooks.md2.8 KiB
- references/configure/observability.md1.4 KiB
- references/configure/query-and-conversation.md3.7 KiB
- references/configure/reasoning-and-generation.md3.8 KiB
- references/configure/search-and-retrieval.md4.0 KiB
- references/configure/summarization.md2.1 KiB
- references/configure/user-interface.md1.7 KiB
- references/configure/vlm.md3.6 KiB
- references/deploy.md7.9 KiB
- references/deploy/docker-nvidia-hosted.md2.2 KiB
- references/deploy/docker-retrieval-only.md1.6 KiB
- references/deploy/docker-self-hosted.md2.3 KiB
- references/deploy/docker.md4.3 KiB
- references/deploy/helm-mig.md2.0 KiB
- references/deploy/helm-openshift.md3.6 KiB
- references/deploy/helm-standard.md2.3 KiB
- references/deploy/helm.md5.6 KiB
- references/deploy/library-full.md2.2 KiB
- references/deploy/library-lite.md1.8 KiB
- references/deploy/library.md2.2 KiB
- references/shutdown.md4.7 KiB
- references/troubleshoot.md8.8 KiB
- skill-card.md3.1 KiB
- skill.oms.sig12.5 KiB
references/deploy.md
RAG Blueprint Deployment
Phase 1: Environment Analysis
Run this single command to collect all environment information at once:
echo "=== GPU ===" && nvidia-smi --query-gpu=index,name,memory.total --format=csv,noheader 2>/dev/null || echo "NO_GPU"; echo "=== VRAM ===" && nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits 2>/dev/null | awk '{s+=$1} END {print s "MB total"}' || echo "0MB total"; echo "=== DRIVER ===" && cat /proc/driver/nvidia/version 2>/dev/null | head -1 || echo "NO_DRIVER"; echo "=== CUDA ===" && nvcc --version 2>/dev/null | grep "release" || echo "NO_CUDA_TOOLKIT"; echo "=== DOCKER ===" && docker --version 2>/dev/null || echo "NO_DOCKER"; echo "=== COMPOSE ===" && docker compose version 2>/dev/null || echo "NO_COMPOSE"; echo "=== NVIDIA_TOOLKIT ===" && docker info 2>/dev/null | grep -i "runtimes.*nvidia" || echo "NO_NVIDIA_TOOLKIT"; echo "=== PYTHON ===" && python3 --version 2>/dev/null || echo "NO_PYTHON"; echo "=== DISK ===" && df -h --output=avail / | tail -1; echo "=== OS ===" && cat /etc/os-release 2>/dev/null | grep -E "^(NAME|VERSION)="; echo "=== NGC_KEY ===" && if [ -n "$NGC_API_KEY" ]; then echo "NGC_KEY_SET"; elif [ -n "$NVIDIA_API_KEY" ]; then echo "NVIDIA_KEY_SET"; elif grep -Eh '^(export[[:space:]]+)?(NGC_API_KEY|NVIDIA_API_KEY)=' deploy/compose/.env deploy/compose/nvdev.env 2>/dev/null | grep -v "nvapi-your-key" | grep -q "nvapi-"; then echo "DOTENV_SET"; else echo "NOT_SET"; fi; echo "=== RUNNING ===" && docker ps --format "{{.Names}}" 2>/dev/null | grep -E "(rag-server|ingestor-server|nim-llm|nemotron-vlm-embedding|elasticsearch|milvus|seaweedfs)" | head -15 || echo "NO_RUNNING_SERVICES"; echo "=== PORTS ===" && (ss -tlnp 2>/dev/null || netstat -tlnp 2>/dev/null) | grep -E ":(8081|8082|8090|9200|9010|19530) " || echo "PORTS_FREE"; echo "=== REPO ===" && git rev-parse --show-toplevel 2>/dev/null && git describe --tags 2>/dev/null || echo "NO_GIT_REPO"; echo "=== CACHE ===" && du -sh ~/.cache/model-cache/ 2>/dev/null || echo "NO_CACHE"Present a summary table:
| Check | Result |
|---|---|
| GPU(s) | (list with VRAM, or NO_GPU) |
| Total VRAM | (sum in MB/GB) |
| NVIDIA Driver | (version or NO_DRIVER) |
| CUDA Toolkit | (version or NO_CUDA_TOOLKIT) |
| Docker | (version or NO_DOCKER) |
| Docker Compose | (version or NO_COMPOSE) |
| NVIDIA Container Toolkit | (detected or NO_NVIDIA_TOOLKIT) |
| Python | (version or NO_PYTHON) |
| Free disk | (value) |
| OS | (name + version) |
| NGC_API_KEY | ENV_SET / DOTENV_SET / NOT_SET |
| Existing services | (list or none) |
| Port availability | (free or list conflicts) |
| Repo | (tag/branch or NO_GIT_REPO) |
| Model cache | (size or empty) |
Existing Services Warning
If RAG services are already running, tell the user briefly: "Existing RAG services detected (list). Proceeding will restart them." Continue unless the user objects.
If the user wants to switch deployment modes (e.g., NVIDIA-hosted → self-hosted, or Docker → library), shut down the existing deployment first via references/shutdown.md, then proceed with the new mode.
If ports are occupied by non-RAG processes, tell the user which ports conflict and suggest stopping the conflicting process. This is a blocker.
Phase 2: NGC_API_KEY Handling
Check in this order:
If
NGC_API_KEYis set in the shell environment → proceed.If
NVIDIA_API_KEYis set (common in library mode) → proceed silently.If
NGC_API_KEYis indeploy/compose/.envordeploy/compose/nvdev.env(and not the placeholdernvapi-your-key) → load it and proceed.If none found → tell the user: "NGC_API_KEY is required. Get one from https://org.ngc.nvidia.com/setup/api-keys and run:
export NGC_API_KEY=\"nvapi-...\"— then tell me when done."After user confirms → re-check silently. If still not set, write placeholder to
.envand tell the user to edit it.
Phase 3: Blocker Checks
Automatically check and report all blockers at once (don't stop at the first one):
Read docs/support-matrix.md for current minimum versions and disk requirements, then check:
Docker Compose below minimum: "Upgrade Docker Compose. See https://docs.docker.com/compose/install/linux/"
NVIDIA Driver below minimum (if self-hosted): "Upgrade NVIDIA driver. See
docs/support-matrix.mdfor required version."NVIDIA Container Toolkit missing (and self-hosted needed): "Install NVIDIA Container Toolkit. See https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html"
Insufficient disk: "Check
docs/support-matrix.mdfor disk requirements per deployment mode."No Docker and no Python 3.11+: "Install Docker or Python 3.11+ to proceed."
List all blockers together so the user can fix them in one pass — don't make them fix one, re-run, fix another.
Phase 4: Route to Deployment Mode
User explicitly requests a mode
"library mode" / "lite mode" / "no docker" / "python mode" → read and follow
deploy/library.md"docker" / "self-hosted" / "local" → read and follow
deploy/docker.mdwith mode self-hosted"cloud" / "nvidia-hosted" / "hosted" → read and follow
deploy/docker.mdwith mode nvidia-hosted"retrieval only" / "search only" / "no LLM" → read and follow
deploy/docker.mdwith mode retrieval-only"kubernetes" / "k8s" / "helm" → read and follow
deploy/helm.md"workbench" / "ai workbench" → tell user to follow
deploy/workbench/README.md(AI Workbench uses its own UI-driven workflow)
Docker is available (Docker + Compose detected)
Self-hosted eligible — read docs/support-matrix.md ("Hardware Requirements (Docker)" section) for current GPU requirements. All of the following must also be true:
GPU count and type matches the Docker self-hosted requirements from the support matrix
≥200 GB free disk (per
docs/support-matrix.md"Disk Space Requirements")NVIDIA Container Toolkit detected
NVIDIA driver meets minimum version from
docs/support-matrix.md("Driver Versions")
If self-hosted eligible → read and follow deploy/docker.md with mode self-hosted
Otherwise with Docker → read and follow deploy/docker.md with mode nvidia-hosted
Tell the user WHY if they have some GPU but not enough:
"You have [X GPU] with [Y GB] VRAM. Self-hosted requires [requirements from docs/support-matrix.md]. Deploying with NVIDIA-hosted cloud NIMs instead — faster startup, no model download."
Docker is available but Compose is not
Tell the user: "Docker is installed but Docker Compose is below the minimum version (see docs/support-matrix.md). Install it: https://docs.docker.com/compose/install/linux/ — or use library mode instead."
If user chooses library mode → read and follow deploy/library.md
Docker is not available
Python 3.11+ available → read and follow
deploy/library.mdwith mode liteNo Python → tell user to install Python 3.11+ or Docker
After Deployment
Once deployment completes, verify health:
echo "=== RAG Server ===" && curl -s http://localhost:8081/v1/health?check_dependencies=true 2>/dev/null || echo "RAG_SERVER_NOT_READY"; echo "=== Ingestor ===" && curl -s http://localhost:8082/v1/health?check_dependencies=true 2>/dev/null || echo "INGESTOR_NOT_READY"If healthy, tell the user:
"RAG Blueprint is running and healthy."
"Ask me to configure features like VLM, query rewriting, guardrails, etc."
"Ask me to shutdown when you're done."
If unhealthy, read references/troubleshoot.md and diagnose. Match error output against known issues, fix, and retry. Escalate to the user only if the fix requires their action (API key, data deletion).
Notebooks
notebooks/launchable.ipynb— Cloud deployment via Brev (alternative to local deployment)
Source Documentation
docs/support-matrix.md— GPU requirements, driver versions, disk space, supported platformsdocs/service-port-gpu-reference.md— port mappings and GPU assignments for all services
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools, Needs an MCP server, Needs network access, Needs an API key
The author says: 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.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA RAG
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/rag-blueprint · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA RAG or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download rag-blueprint.zip