All notable changes to the NVIDIA RAG Blueprint will be documented in this file.
To upgrade your version, see Migration Guide.
This release adds KDB-X (bare kdb+) as a second vector database backend with GPU CAGRA support, validates Blackwell g7e EKS self-hosted LLM deployment, adds NeMo Guardrails helm chart support, and renames embed/rerank model references to the new llama-nemotron branding.
- KDB-X vector database backend: Connect to a customer-managed kdb+ endpoint over IPC as an
alternative to KDB.AI. The KDB-X process loads its
.rag.*definitions fromkdbx-init.qat q startup (the chart's test pod does this automatically; the adapter fails fast withKdbxNotBootstrappedErrorif they're missing — it does NOT push them on connect). See docs/change-vectordb-kdbx.md. - GPU CAGRA index for KDB-X (Phase 2): kdb+ collections can use NVIDIA cuVS CAGRA GPU-
accelerated vector search via
KDBX_USE_CUVS=1. RequiresAPP_VECTORSTORE_ENABLEGPUINDEX=TrueandAPP_VECTORSTORE_ENABLEGPUSEARCH=Trueon both rag-server and ingestor in addition tokdbx.useCuvs=truein Helm — see Known Issues below. - KDB-X cuVS safety guards: CAGRA crashloop protection — kill-switch
KDBX_CAGRA_SKIP_PERSISTED_READ=1(orkdbx.cagra.skipPersistedRead=true) to recover from a corrupted .cagra blob by rebuilding from stored vectors. GPU stamp (_cagrastamp) and readiness canary verify cuVS health before the pod accepts traffic. - NeMo Guardrails helm chart: Added helm chart support for NeMo Guardrails (upstream had docker-compose only). Working end-to-end (safe → answer, unsafe → blocked).
- Blackwell g7e EKS self-hosted LLM: Validated llama-3.3-nemotron-super-49b-v1.5 (FP8, TP1)
on g7e (RTX PRO 6000 Blackwell, 96 GB). Reference:
deploy/EKS/g7e-llm-nodegroup.yamlanddeploy/EKS/rag-values-llm-selfhost-g7e.yaml. - KDB-X per-collection metric persistence: Collection metric (L2 or CS) is stamped at
creation and survives pod restarts. Configurable via
KDBX_METRICenv (default: L2). - Airgap NIM weight-cache overlay:
deploy/EKS/rag-values-nim-cache.yamlprovisions PVCs for pre-cached NIM model weights in airgapped EKS deployments.
- Breaking (KDB-X): Provisioning model changed from adapter-push (WS-PROVISION) to
server startup-load.
kdbx-init.qmust now be loaded by q at process startup:q /opt/kx/conf/kdbx-init.q -p <port>. The helm chart does this automatically. Customer-managed KDB-X: add this to your q launch command. The adapter no longer bundles or pusheskdbx-init.q; it raisesKdbxNotBootstrappedErrorif the server is not pre-provisioned. (kdbx-init.qships atdeploy/helm/nvidia-blueprint-rag/files/kdbx/kdbx-init.q.) - Renamed embed model:
nvidia/llama-3.2-nv-embedqa-1b-v2→nvidia/llama-nemotron-embed-1b-v2 - Renamed rerank model:
nvidia/llama-3.2-nv-rerankqa-1b-v2→nvidia/llama-nemotron-rerank-1b-v2 - Renamed VLM embed model:
llama-3.2-nemoretriever-1b-vlm-embed-v1→llama-nemotron-embed-vl-1b-v2 - Renamed env var
KDBX_PORT→KDBX_LISTEN_PORT(breaking change): the Kubernetes Service namedkdbxauto-injectsKDBX_PORT=tcp://...into pod environments, causing a collision with the listen-port variable. Update any custom configs usingKDBX_PORT.
- Fixed non-unique chunk IDs in KDB-X
upload_text: IDs were generated per-batch (0..N), causing cross-batch collisions that silently dropped rows in search result joins.
- KDB-X CAGRA double-flag requirement:
kdbx.useCuvs=truein Helm alone does not activate GPU CAGRA index creation. Bothrag-serverandingestorpods must also setAPP_VECTORSTORE_ENABLEGPUINDEX=TrueandAPP_VECTORSTORE_ENABLEGPUSEARCH=TrueviaenvVars. Thedeploy/EKS/rag-values-kdbx-cuvs.yamloverlay sets all required values.
This release adds RTX6000 platform support, adds deployment by using NIM operator, improves vector database pluggability with the blueprint, and other changes.
- Support deploying the blueprint on RTX6000 platform.
- Migrated to
llama-3.3-nemotron-super-49b-v1.5as the default LLM model. - Added support to deploy the helm chart by using NVIDIA NIM operator. For details, refer to Deploy NVIDIA RAG Blueprint with NIM Operator.
- Updated all NIMs, NVIDIA Ingest and third party dependencies to latest versions.
- Refactoring to support custom 3rd party vector DB integration in a streamlined manner.
- Interactive notebook showcasing integration with library mode here.
- Added support for elasticsearch vector DB as an alternate to milvus.
- Added opt-in query decomposition support.
- Added opt-in nemoretriever-ocr support.
- Added opt-in VLM embedding support
- Custom metadata enhancments. Detailed doc here.
- Added support for more datatypes.
- Added opt-in support to generate filters using LLM yielding better accuracy.
- Added an interactive notebook showcasing new features.
- Added dependency check support for ingestor server /health API.
- Added support for configurable confidence threashold for retrieval from API layer.
- Added support to store NV-Ingest extraction results directly from the filesystem.
- Logging enhancements
- Added better latency data reporting for RAG server
- API level enhancements for component level latency
- Added dedicated Prometheus metric endpoint
- Added independent script to showcase batch ingestion
- Enabled support for GPU indexing with CPU search
- Exposed
APP_VECTORSTORE_EFas a configurable parameter
- Exposed
- Added environment variables to control llm parameters LLM_MAX_TOKENS, LLM_TEMPERATURE and LLM_TOP_P
- Added notebooks for showcasing RAG evaluation using common metrics
- Added unit tests and pre-commit hooks for maintaining code quality.
- Optimized container sizes by removing unnecessary packages and improving security.
- Migrated default LLM model for reflection to
llama-3.3-nemotron-super-49binstead ofmixtral-8x22b-instruct-v01. - Refactored rag-playground code
- Use React end to end. Next.js dependencies were deprecated.
- More developer friendly and intuitive look and feel.
rag-playgroundservice is renamed torag-frontend
- Refactored helm chart support
- Expanded and reorganized Helm chart configuration, enabling granular control over service components, resource settings, and observability (tracing, metrics).
- Introduced ConfigMap and service definitions to facilitate improved application deployment flexibility.
- Implemented refined service account and secret management in Helm templates.
- Added a new Helm values file for nim-operator to configure LLM model environment and component toggles.
- Fixed support for long audio file ingestion.
- Fixed support to ingest images without charts/tables.
- Fixed requirement of rebuilding rag frontend container when LLM model name was changed.
- Removed consistency level configuration support for Milvus.
- Removed
EMBEDDING_NIM_ENDPOINTandEMBEDDING_NIM_MODEL_NAMEenvironment variables for nvingest. - Removed unused
ENABLE_MULTITURNenvironment variable from rag-server. - Removed
ENABLE_NEMOTRON_THINKINGenvironment variable from rag-server.
For the full list of known issues, see Known Issues.
This is a minor patch release that updates to the latest nv-ingest-client version 25.6.3 to fix breaking changes introduced by pypdfium. For details, refer to NVIDIA NV Ingest 25.6.3.
This release adds B200 platform support, a native Python API, and major enhancements for multimodal and metadata features. It also improves deployment flexibility and customization across the RAG blueprint.
- Support deploying the blueprint on B200 platform.
- Support for native python API
- Refactoring code and directory to support python API
- Better modularization for easier customization
- Moved to
uvas the package manager for this project
- Added support for configurable vector store consistency levels (Bounded/Strong/Session) to optimize retrieval performance vs accuracy trade-offs.
- Capability to add custom metadata for files and metadata based filtering
- Documentation of using Multi Instance GPUs. Reduces minimum GPU requirement for helm charts to 3xH100.
- Multi collection based retrieval support
- Audio files (.mp3 and .wav) support
- Support of using Vision Language Model based generation for charts and images
- Support for generating summaries of uploaded files
- Sample user interface enhancements
- Support for non-blocking file upload
- More efficient error reporting for ingestion failures
- Prompt customization support without rebuilding images
- Added support to enable infographics, which improves accuracy for documents containing text in image format.
- See this guide for details
- New customizations
- How to support non nvingest based ingestion + retrieval
- How to enable CPU based milvus
- How to enable nemoretriever-parse as an alternate PDF parser
- How to use standalone nv-ingest python client to do ingestion
- Nvidia AI Workbench support
- Changed API schema to support newly added features
- POST /collections to be deprecated in favour of POST /collection for ingestor-server
- New endpoint GET /summary added for rag-server
- Metadata information available as part of GET /collections and GET /documents API
- Refer to the migration guide for detailed changes at API level
- Optimized batch mode ingestion support to improve perf for multi user concurrent file upload.
For the full list of known issues, see Known Issues.
This release reduces overall GPU requirement for the deployment of the blueprint. It also improves the performance and stability for both docker and helm based deployments.
- Added non-blocking async support to upload documents API
- Added a new field
blocking: boolto control this behaviour from client side. Default is set totrue - Added a new API
/statusto monitor state or completion status of uploaded docs
- Added a new field
- Helm chart is published on NGC Public registry.
- Helm chart customization guide is now available for many optional features. For details, refer to NVIDIA RAG Blueprint Documentation.
- Issues with very large file upload has been fixed.
- Security enhancements and stability improvements.
- Overall GPU requirement reduced to 2xH100/3xA100.
- Changed default LLM model to llama-3_3-nemotron-super-49b-v1. This reduces overall GPU needed to deploy LLM model to 1xH100/2xA100
- Changed default GPU needed for all other NIMs (ingestion and reranker NIMs) to 1xH100/1xA100
- Changed default chunk size to 512 in order to reduce LLM context size and in turn reduce RAG server response latency.
- Exposed config to split PDFs post chunking. Controlled using
APP_NVINGEST_ENABLEPDFSPLITTERenvironment variable in ingestor-server. Default value is set toTrue. - Added batch-based ingestion which can help manage memory usage of
ingestor-servermore effectively. Controlled usingENABLE_NV_INGEST_BATCH_MODEandNV_INGEST_FILES_PER_BATCHvariables. Default value isTrueand100respectively. - Removed
extract_optionsfrom API level ofingestor-server. - Resolved an issue during bulk ingestion, where ingestion job failed if ingestion of a single file fails.
The following are the new known issues in this version:
- While trying to upload multiple files at the same time, there may be a timeout error
Error uploading documents: [Error: aborted] { code: 'ECONNRESET' }. Developers are encouraged to use API's directly for bulk uploading, instead of using the sample rag-frontend. The default timeout is set to 1 hour from UI side, while uploading. - In case of failure while uploading files, error messages may not be shown in the user interface of rag-frontend. Developers are encouraged to check the
ingestor-serverlogs for details.
For the full list of known issues, see Known Issues.
This release adds support for multimodal documents using Nvidia Ingest including support for parsing PDFs, Word and PowerPoint documents. It also significantly improves accuracy and perf considerations by refactoring the APIs, architecture as well as adds a new developer friendly UI.
- Integration with Nvingest for ingestion pipeline, the unstructured.io based pipeline is now deprecated.
- OTEL compatible observability and telemetry support.
- API refactoring. Updated schemas here.
- Support runtime configuration of all common parameters.
- Multimodal citation support.
- New dedicated endpoints for deleting collection, creating collections and reingestion of documents
- New react + nodeJS based UI showcasing runtime configurations
- Added optional features to improve accuracy and reliability of the pipeline, turned off by default. Best practices here
- Brev dev compatible notebook
- Security enhancements and stability improvements
-
- In RAG v1.0.0, a single server managed both ingestion and retrieval/generation APIs. In RAG v2.0.0, the architecture has evolved to utilize two separate microservices.
- Helm charts are now modularized, separate helm charts are provided for each distinct microservice.
- Default settings configured to achieve a balance between accuracy and perf.
- Default Docker deployment flow now uses on-prem models. Alternatively, you can Deploy NVIDIA RAG Blueprint with Docker (NVIDIA-Hosted Models).
- Query rewriting uses a smaller llama3.1-8b-instruct and is turned off by default.
- Support to use conversation history during retrieval for low-latency multiturn support.
The following are the new known issues in this version:
- Optional features reflection, nemoguardrails and image captioning are not available in helm based deployment.
- Uploading large files with .txt extension may fail during ingestion, we recommend splitting such files into smaller parts, to avoid this issue.
For the full list of known issues, see Known Issues.
This is the initial release of the NVIDIA RAG Blueprint.
The following are the known issues for RAG Blueprint:
- The Blueprint responses can have significant latency when using NVIDIA API Catalog cloud hosted models.
- The accuracy of the pipeline is optimized for certain file types like
.pdf,.txt,.docx. The accuracy may be poor for other file types supported by NvIngest, since image captioning is disabled by default. - The UI file upload interface has a hard limit of 100 files per upload batch. When selecting more than 100 files, only the first 100 are processed. For bulk uploads beyond this limit, use multiple upload batches or the programmatic API.
- When updating model configurations in Kubernetes
values.yaml(for example, changing from 70B to 8B models), the RAG UI automatically detects and displays the new model configuration from the backend. No container rebuilds are required - simply redeploy the Helm chart with updated values and refresh the UI to see the new model settings in the Settings panel. - The NeMo LLM microservice can take 5-6 minutes to start for every deployment.
- B200 GPUs are not supported for the following advanced features. For these features, use H100 or A100 GPUs instead.
- Image captioning support for ingested documents
- NeMo Guardrails for guardrails at input/output
- VLM based inferencing in RAG
- PDF extraction with Nemoretriever Parse
- Sometimes when HTTP cloud NIM endpoints are used from
deploy/compose/.env, thenv-ingest-ms-runtimestill logs gRPC environment variables. Following log entries can be ignored. - If one of the file in a bulk ingestion job is of type svg, which is a unsupported format, the full bulk ingestion job fails.
- Complicated filter expressions with custom metadata while sending a query, are not supported from the RAG UI.
- For MIG support, currently the ingestion profile has been scaled down while deploying the chart with MIG slicing This affects the ingestion performance during bulk ingestion, specifically large bulk ingestion jobs might fail.
- Individual file uploads are limited to a maximum size of 400 MB during ingestion. Files exceeding this limit are rejected and must be split into smaller segments before ingesting.
llama-3.3-nemotron-super-49b-v1.5model provides more verbose responses in non-reasoning mode compared to v1.0. For some queries the LLM model may respond with information not available in given context. Also for out of domain queries the model may provide responses based on it's own knowledge. Developers are strongly advised to tune the prompt for their usecases to avoid these scenarios.- The auto selected NIM-LLM profile for llama-3.3-nemotron-super-49b-v1.5 may not work for some GPUs. Follow steps outlined in the appropriate deployment guide to select an optimized profile using
NIM_MODEL_PROFILEbefore deploying. - Slow VDB upload is observed in Helm deployments for Elasticsearch.
- Immediately after document ingestion, there might be a delay before the RAG UI accurately reflects the number of Milvus entities in a collection. Although the count that appears might be temporarily inconsistent, the presence of a document in the RAG UI confirms its successful ingestion.