Generated banner for RAG Blueprint
Generated logo for RAG Blueprint

RAG Blueprint

NVIDIAOfficialCreated by NVIDIA RAG

  • Skill
  • Tool integration
  • Automation and integrations
  • Apache-2.0
  • Medium risk

From the author

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).
— the description by NVIDIA RAG

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

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/nvidia/rag-blueprint/download
  2. Unzip 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

  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.

  2. 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"
  3. 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?"

  4. 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.

  5. 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"
  6. 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

  7. 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

  8. 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.

Files

references/configure/agentic-rag.md

Agentic RAG

When to Use

  • User wants the LangGraph agentic pipeline/agentic rag, planning/execution, multi-hop reasoning, ambiguity handling, or verification.

  • User asks about agentic, ENABLE_AGENTIC_RAG, agentic streaming, stage events, or agentic reasoning traces.

Restrictions

  • Requires use_knowledge_base=true; otherwise the agentic path is not applied.

  • Higher latency and more LLM calls than standard RAG. Prefer per-request enablement for latency-sensitive deployments.

  • The agentic path does not use NeMo Guardrails, Self-Reflection, Query Decomposition, or VLM Inference.

  • Verification is single-pass.

Process

  1. Detect deployment mode. Docker: edit the active env file. Helm: edit values.yaml. Library/API callers can set request fields directly.

  2. Read docs/agentic-rag.md for the current architecture, env vars, and limitations.

  3. Prefer per-request enablement:

    {
      "messages": [{"role": "user", "content": "..."}],
      "use_knowledge_base": true,
      "collection_names": ["..."],
      "agentic": true
    }
  4. For API/library clients that omit agentic, set ENABLE_AGENTIC_RAG=true and restart the RAG server. In the React UI, also select Pipeline → Agentic because the UI sends an explicit per-request value.

  5. Optionally configure LLMs:

    • One deployment-wide LLM: set APP_LLM_MODELNAME, APP_LLM_SERVERURL, and APP_LLM_APIKEY; Docker Compose chains each agentic role to these defaults.

    • Role-specific LLMs: set AGENTIC_PLANNER_LLM_*, AGENTIC_TASK_LLM_*, AGENTIC_SEED_GEN_LLM_*, or AGENTIC_SYNTHESIS_LLM_*.

    • One request only: pass model and/or llm_endpoint in /v1/generate; the runtime override applies to all agentic roles for that request.

  6. Verify with /v1/generate: streaming agentic chunks include event_type, stage, and supplementary reasoning_content; final answer text still streams through content.

Decision Table

GoalKey Action
Enable only for one querySet request body agentic: true
Disable for one query when globally enabledSet request body agentic: false
Change deployment default for API clients that omit agenticSet ENABLE_AGENTIC_RAG=true or false
Enable from the RAG UISelect Pipeline → Agentic; the Standard UI mode sends agentic: false
Add post-synthesis checkingSet AGENTIC_VERIFICATION_ENABLED=true
Use the same deployment LLM for every agentic roleSet APP_LLM_MODELNAME, APP_LLM_SERVERURL, and APP_LLM_APIKEY unless role-specific AGENTIC_*_LLM_* envs are set
Override every agentic role for one API callSet request body model and/or llm_endpoint
Debug agent stagesSet AGENTIC_LOG_LEVEL=DEBUG and inspect streamed event_type / stage chunks

Agent-Specific Notes

  • enable_streaming=true is the default. Agentic streaming emits stage events (stage_start, stage_end), intermediate reasoning/output, final answer chunks, agent events, and errors.

  • enable_streaming=false makes the agent graph finish before returning a full answer chunk; standard RAG always streams.

  • The React UI has only Standard and Agentic modes. Standard sends agentic: false, so ENABLE_AGENTIC_RAG=true alone does not override UI Standard mode.

  • In the UI, agentic and standard reasoning traces render in the reasoning panel when the stream includes reasoning_content.

  • Docker Compose chains AGENTIC_*_LLM_MODEL, AGENTIC_*_LLM_SERVERURL, and AGENTIC_*_LLM_APIKEY through APP_LLM_MODELNAME, APP_LLM_SERVERURL, and APP_LLM_APIKEY, so one standard LLM override propagates to all four agentic roles unless a role-specific value is set.

  • Helm values list the role-specific envs explicitly. Keep them aligned with the main LLM values for one shared agentic model, or set per-role values when the planner, task, seed generation, or synthesis roles need different models.

  • If a role model is empty in config, the builder falls back to the planner LLM, then the main RAG LLM. API keys fall back through the role config, main RAG LLM config, and the usual NVIDIA-hosted defaults.

  • Per-request /v1/generate model and llm_endpoint values override every agentic role for that request; omit the fields to use deployment or role-specific configuration.

  • If the result is slow or expensive, use per-request agentic instead of a global default, lower AGENTIC_CONTEXT_MAX_TOKENS, or leave verification disabled.

Source Documentation

  • docs/agentic-rag.md — architecture, API usage, env vars, limitations

  • docs/api-rag.md — /v1/generate request and streaming behavior

  • deploy/compose/docker-compose-rag-server.yaml — Docker APP_LLM_* and AGENTIC_*_LLM_* fallback chain

  • src/nvidia_rag/rag_server/agentic_rag/builder.py — role LLM fallback order and runtime override model

  • frontend/src/hooks/useMessageSubmit.ts — UI request field behavior for agentic

  • frontend/src/hooks/useChatStream.ts and frontend/src/components/chat/ReasoningPanel.tsx — reasoning trace rendering

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