Skip to content

Upgrade to Nemotron RC NIMs and NV-Ingest 26.1.2 - #371

Merged
shubhadeepd merged 1 commit into
release-v2.5.0from
dev/smasurekar/nemotron-nims
Feb 27, 2026
Merged

Upgrade to Nemotron RC NIMs and NV-Ingest 26.1.2#371
shubhadeepd merged 1 commit into
release-v2.5.0from
dev/smasurekar/nemotron-nims

Conversation

@smasurekar

@smasurekar smasurekar commented Feb 19, 2026

Copy link
Copy Markdown
Collaborator

Upgrade to Nemotron RC NIMs and NV-Ingest 26.1.2

Summary

  • NIMs: Switched from nemoretriever to nemotron; release candidate (RC) images are used.
  • NV Ingest: Upgraded to 26.1.2 (from 26.1.1).
  • ⚠️ Cloud endpoints: Not available for these new models yet. Flows using NVIDIA-hosted (cloud) endpoints for embedding, reranker, page-elements, graphic-elements and table-structure will fail until the models are GA; they will work once generally available, with no further blueprint changes.
  • nvdev.env: Unchanged - new models are not on nvdev. nvdev.env is kept unchanged for CI to pass.
  • Nemotron OCR: Not included; has known issues. Will be added in a follow-up once resolved.

NIM / model changes

Component Before model name After model name
Embedding nvidia/llama-3.2-nv-embedqa-1b-v2 nvidia/llama-nemotron-embed-1b-v2
Reranker nvidia/llama-3.2-nv-rerankqa-1b-v2 nvidia/llama-nemotron-rerank-1b-v2
Vision / layout nemoretriever-page-elements-v3, nemoretriever-graphic-elements-v1, nemoretriever-table-structure-v1 nemotron-page-elements-v3, nemotron-graphic-elements-v1, nemotron-table-structure-v1

@smasurekar smasurekar added the enhancement New feature or request label Feb 19, 2026
@smasurekar
smasurekar force-pushed the dev/smasurekar/nemotron-nims branch 4 times, most recently from 6d8876e to 07e98c9 Compare February 24, 2026 07:14
@smasurekar
smasurekar force-pushed the dev/smasurekar/nemotron-nims branch from 07e98c9 to decfdd1 Compare February 27, 2026 06:19
Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
@smasurekar
smasurekar force-pushed the dev/smasurekar/nemotron-nims branch from decfdd1 to cd8e9a3 Compare February 27, 2026 08:55
@shubhadeepd
shubhadeepd merged commit 7d0796d into release-v2.5.0 Feb 27, 2026
6 checks passed
@shubhadeepd
shubhadeepd deleted the dev/smasurekar/nemotron-nims branch February 27, 2026 10:16
shubhadeepd pushed a commit that referenced this pull request Mar 8, 2026
Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
shubhadeepd added a commit that referenced this pull request Mar 9, 2026
* fix(observability): use hardcoded GenAI attribute keys instead of deprecated SpanAttributes (#377)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Added MIG Slice Support for rtx6000pro (#379)

* Added MIG Slice support for RTX 6000 pro

Signed-off-by: Punit Kumar <punitk@nvidia.com>

* Changed to default config in MIG slicing in rtx6000pro config

---------

Signed-off-by: Punit Kumar <punitk@nvidia.com>
Co-authored-by: niyatisingal <nsingal@nvidia.com>

* Port release-v2.4.0 to release-v2.5.0 and update container versions (#385)

* changes to docs per bug 5767861 (#328)

* Updated launchable with v2.4.0 tag (#318)

* updated support matrix (#321)

* Document the end‑to‑end flow from query to answer and show how to measure time spent in each stage of the RAG pipeline. (#317)

* adding oberservablility

* Update docs/debugging.md

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

* Update docs/observability.md

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

* Add query-to-answer-pipeline doc and observability/debugging updates

* Trigger CI

* getting build to kick in for observability file

* Fix typos in query-to-answer-pipeline.md and ensure file in PR for link check

* get rid of PULL_REQUEST_SUMMARY

---------

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

* fixed files associated with build (#322)

* Add multimodal query integration tests to CI pipeline

* changes to docs per bug 5767861

* updated files per bug 5880717 (#327)

* updated files per bug 5880717

* Update CONTRIBUTING.md

* Update README.md

* Update python-client.md

* Update readme.md

* Update readme.md

* Update docs/deploy-helm.md

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

* Update docs/deploy-helm.md

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

---------

Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>
Co-authored-by: nkmcalli <nkmcalli@yahoo.com>
Co-authored-by: Pranjal Doshi <pranjald@nvidia.com>
Co-authored-by: nv-pranjald <150428320+nv-pranjald@users.noreply.github.com>

* Fix workflow rule and doc bugs (#331)

* Revert back milvus version in conf.md to v2.6.5

* Modify workflow to run on any branch

* Fix workflow push rule to run on protected branches

* Add files via upload (#326)

Found an error in the Q&A section where images in the citation were not being printed.

* Doc bug fixes (#339)

* updated helm instructions (#333)

* updated helm instructions

* Update deploy-helm.md

* fix broken image link (#334)

* Add release note for Audio model deployment on Kubernetes on RTX‑6000 Pro is not supported in this release.heiss/5863956a (#335)

* Add release note for Audio model deployment on Kubernetes on RTX‑6000 Pro is not supported in this release.

* Add release note for Audio model deployment on Kubernetes on RTX‑6000 Pro is not supported in this release.

* Fix broken image link in observability file

* Fix CPU seach with GPU index doc

* Fix VLLM profile instruction for nemotron-3-nano

---------

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Updated troubleshoot documentation for Elasticsearch connection timeout (#341)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* updated path to image files so that html output is rendered correctly (#363)

* Updated helm instructions for mig-deployment prerequisites (#364)

* Updated helm instructions for mig-deployment

* Update mig-deployment.md

* Doc enhancement for noteboook (#361)

* Doc enhancement for noteboook

* Update release notes

* Update launchable.ipynb (#365)

Updated branch name
State name changed from "FAILURE"->"FAILED"

* Fix typo in release notes

---------

Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>

* fixed links in deploy-helm and mig-deploymnent (#367)

* update artifacts to GA version for v2.4.0 release (#359)

* updated files according to style guide (#369)

* Revert deploy-helm and mig-deployment to pre-11a31a4 versions (#372)

* Fix release date in changelog (#373)

* Bump up version to 2.5.0

---------

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
Co-authored-by: Kurt Heiss <kheiss@nvidia.com>
Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>
Co-authored-by: nkmcalli <nkmcalli@yahoo.com>
Co-authored-by: Pranjal Doshi <pranjald@nvidia.com>
Co-authored-by: nv-pranjald <150428320+nv-pranjald@users.noreply.github.com>
Co-authored-by: Swapnil Masurekar <smasurekar@nvidia.com>

* feat: Event-Driven Document/Video Ingestion Pipeline (#351)

* feat: add rag_event_ingest example - event-driven document/video ingestion pipeline

- Kafka consumer that monitors MinIO object storage for new uploads
- Routes documents to RAG Ingestor, videos to VSS for analysis
- Docker Compose deployment for Kafka, MinIO, and consumer
- Jupyter notebook for end-to-end deployment and testing
- Sample test data (PDF document, MP4 video) tracked via Git LFS

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: polish rag_event_ingest notebook - fix sections, descriptions, TOC

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* refactor: consolidate Setup into single cell - clone, deps, API keys

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* refactor: inline check_rag/vss/aidp_status into their usage cells

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* docs: add markdown description before every code cell

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: notebook is standalone entry point, clones RAG repo to ~/rag

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: set COLLECTION_NAME, load .env, simplify query_rag, add expected logs

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: left-align markdown tables in notebook

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: use HTML tables to force left alignment

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: replace API Keys markdown table with HTML for left alignment

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* feat: add storage verification, RAG frontend hints, and configurable consumer prompts

- Add verify_file_in_storage() helper to confirm files landed in MinIO
- Merge storage verification into document/video ingestion checks
- Add RAG Frontend UI link (port 8090) to query sections
- Make Kafka consumer VSS prompts configurable via env vars in docker-compose
- Install git/git-lfs in notebook setup cell
- Index cells in Deploy Continuous Ingestion section

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: skip RAG clone if directory already exists

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: url

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* feat: add continuous ingestion notebook for video and document pipeline

Add rag_event_ingest.ipynb notebook that provides an end-to-end walkthrough for:
- Deploying NVIDIA RAG stack (NIMs, Milvus, Ingestor, RAG Server)
- Deploying NVIDIA VSS stack (VLM, LLM, Embedding, Reranker NIMs)
- Deploying continuous ingestion pipeline (Kafka, MinIO, Kafka Consumer)
- Configurable video analysis prompts for the Kafka consumer
- Uploading documents and videos to MinIO with storage verification
- Verifying ingestion via consumer logs
- Querying ingested content via RAG API or Frontend UI

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: gpu

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: add ensurepip, fix VSS tag to v2.4.1, use GPUs 2-3 for VSS, update hw req to 4 GPUs

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: tag

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* feat: resolve comment

* fix: patch VSS config to use host-mapped ports for shared RAG embedding/reranker

The via-server runs on the local_deployment_single_gpu_default network,
not nvidia-rag, so it cannot resolve nemoretriever-embedding-ms or
nemoretriever-ranking-ms. Route through host.docker.internal with the
correct host-mapped ports instead (9080 for embedding, 1976 for reranker).

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

---------

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Co-authored-by: anngu <anngu@nvidia.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix query decomp doc and prompt (#316)

* Fix query decomp doc and prompt

* fix prompt in helm as well

* Upgrade to Nemotron RC NIMs and NV-Ingest 26.1.2 (#371)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Preserve filename case in filter; fix syntax error examples to use double quotes (#337)

* conf.py fix (#391)

* confirming presence of switcher text in conf.py file

* docs: adjust conf.py for 2.5.0

* Update prompt and unify reasoning budged and enable thinking (#386)

* Prompt tuining, low reasoning and reasoning budget

* Filter out think token when enable filter is on

* Use default prompt

* Fix unit test

* Add doc for nemotron thinking budget

* Add question back in prompt.yaml

* Concatenate multimodal content for VLM Embed (#362) (#392)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* security: Fix frontend CVEs (#396)

* Add config to enable nemotron parse only extraction in nv-ingest (#395)

* Add config to enable nemotron parse only extraction in nv-ingest

* Refactor nemotron parse only documentation

* Remove nemotron parse only references from the previous section

* Added patch command in rtx6000pro mig block also in documentation (#398)

* Upgraded to GA nemotron-ranking-ms and nemotron-embedding-ms containers (#402)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Update packages to resolve source code CVEs (#400)

* Update langchain-nvidia-ai-endpointsto >=1.1.0

* security: Update langgraph to version 1.10.0

* Update NIM wait times and patch VSS embed/rerank models (#397)

* Update NIM wait times and patch VSS embed/rerank models

Adjust expected NIM model loading wait from 2-5 min to ~10 min
for RTX PRO 6000 hardware. Add explicit patching of VSS config.yaml
to align embedding and reranker model names with RAG stack defaults.

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* Update VSS prompts to match default format and use seconds-based queries

- Align consumer VSS prompts with VSS config.yaml defaults (sports-adapted):
  caption, caption_summarization, summary_aggregation with proper dedup/merge logic
- Extract RAG embed/rerank model names dynamically from compose file
- Add parse_compose_default helper to avoid hardcoded model names
- Change time-range query from MM:SS to seconds format for VSS compatibility

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* Clean up notebook: rename variable, remove config overrides

- Rename _rag_compose to _rag_compose_path for clarity
- Remove hardcoded max_tokens and batch_size patches from VSS config
- Simplify time-range query cell comments

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* Rename helper function and revert prompts to MM:SS format

- Rename parse_compose_default to extract_rag_default_compose_var
- Revert VSS prompts to MM:SS timestamp conversion style
- Revert time-range query to MM:SS format

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* Add GPU assignment table and update NIM container names

Update notebook to reflect renamed NIM containers
(nemoretriever-* → nemotron-*) and add default GPU assignment
table for RTX PRO 6000 / H100 hardware.

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

---------

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>

* docs: Add release note for v2.5.0 release (#401)

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Upgraded to GA containers for page-elements, graphic-elements, table-structure (#403)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Add SHM size 16gb to reranking and VLM NIM in compose (#405)

* Fixed the query to be derived from messages if query is not explicitly given in argument and adding messages list in logs (#404)

* bug: Fix frontend image path

---------

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
Signed-off-by: Punit Kumar <punitk@nvidia.com>
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Co-authored-by: Swapnil Masurekar <smasurekar@nvidia.com>
Co-authored-by: kumar-punit <punitk@nvidia.com>
Co-authored-by: niyatisingal <nsingal@nvidia.com>
Co-authored-by: Kurt Heiss <kheiss@nvidia.com>
Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>
Co-authored-by: nkmcalli <nkmcalli@yahoo.com>
Co-authored-by: Pranjal Doshi <pranjald@nvidia.com>
Co-authored-by: nv-pranjald <150428320+nv-pranjald@users.noreply.github.com>
Co-authored-by: Minh Nguyen <minhngu@nvidia.com>
Co-authored-by: anngu <anngu@nvidia.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>
shubhadeepd added a commit that referenced this pull request Jun 4, 2026
* fix(observability): use hardcoded GenAI attribute keys instead of deprecated SpanAttributes (#377)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Fixing nemoguardrails config (#382)

Signed-off-by: Niyati Singal <nsingal@nvidia.com>

* Added MIG Slice Support for rtx6000pro (#379)

* Added MIG Slice support for RTX 6000 pro

Signed-off-by: Punit Kumar <punitk@nvidia.com>

* Changed to default config in MIG slicing in rtx6000pro config

---------

Signed-off-by: Punit Kumar <punitk@nvidia.com>
Co-authored-by: niyatisingal <nsingal@nvidia.com>

* Port release-v2.4.0 to release-v2.5.0 and update container versions (#385)

* changes to docs per bug 5767861 (#328)

* Updated launchable with v2.4.0 tag (#318)

* updated support matrix (#321)

* Document the end‑to‑end flow from query to answer and show how to measure time spent in each stage of the RAG pipeline. (#317)

* adding oberservablility

* Update docs/debugging.md

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

* Update docs/observability.md

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

* Add query-to-answer-pipeline doc and observability/debugging updates

* Trigger CI

* getting build to kick in for observability file

* Fix typos in query-to-answer-pipeline.md and ensure file in PR for link check

* get rid of PULL_REQUEST_SUMMARY

---------

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

* fixed files associated with build (#322)

* Add multimodal query integration tests to CI pipeline

* changes to docs per bug 5767861

* updated files per bug 5880717 (#327)

* updated files per bug 5880717

* Update CONTRIBUTING.md

* Update README.md

* Update python-client.md

* Update readme.md

* Update readme.md

* Update docs/deploy-helm.md

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

* Update docs/deploy-helm.md

Co-authored-by: nkmcalli <nkmcalli@yahoo.com>

---------

Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>
Co-authored-by: nkmcalli <nkmcalli@yahoo.com>
Co-authored-by: Pranjal Doshi <pranjald@nvidia.com>
Co-authored-by: nv-pranjald <150428320+nv-pranjald@users.noreply.github.com>

* Fix workflow rule and doc bugs (#331)

* Revert back milvus version in conf.md to v2.6.5

* Modify workflow to run on any branch

* Fix workflow push rule to run on protected branches

* Add files via upload (#326)

Found an error in the Q&A section where images in the citation were not being printed.

* Doc bug fixes (#339)

* updated helm instructions (#333)

* updated helm instructions

* Update deploy-helm.md

* fix broken image link (#334)

* Add release note for Audio model deployment on Kubernetes on RTX‑6000 Pro is not supported in this release.heiss/5863956a (#335)

* Add release note for Audio model deployment on Kubernetes on RTX‑6000 Pro is not supported in this release.

* Add release note for Audio model deployment on Kubernetes on RTX‑6000 Pro is not supported in this release.

* Fix broken image link in observability file

* Fix CPU seach with GPU index doc

* Fix VLLM profile instruction for nemotron-3-nano

---------

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Updated troubleshoot documentation for Elasticsearch connection timeout (#341)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* updated path to image files so that html output is rendered correctly (#363)

* Updated helm instructions for mig-deployment prerequisites (#364)

* Updated helm instructions for mig-deployment

* Update mig-deployment.md

* Doc enhancement for noteboook (#361)

* Doc enhancement for noteboook

* Update release notes

* Update launchable.ipynb (#365)

Updated branch name
State name changed from "FAILURE"->"FAILED"

* Fix typo in release notes

---------

Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>

* fixed links in deploy-helm and mig-deploymnent (#367)

* update artifacts to GA version for v2.4.0 release (#359)

* updated files according to style guide (#369)

* Revert deploy-helm and mig-deployment to pre-11a31a4 versions (#372)

* Fix release date in changelog (#373)

* Bump up version to 2.5.0

---------

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
Co-authored-by: Kurt Heiss <kheiss@nvidia.com>
Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>
Co-authored-by: nkmcalli <nkmcalli@yahoo.com>
Co-authored-by: Pranjal Doshi <pranjald@nvidia.com>
Co-authored-by: nv-pranjald <150428320+nv-pranjald@users.noreply.github.com>
Co-authored-by: Swapnil Masurekar <smasurekar@nvidia.com>

* feat: Event-Driven Document/Video Ingestion Pipeline (#351)

* feat: add rag_event_ingest example - event-driven document/video ingestion pipeline

- Kafka consumer that monitors MinIO object storage for new uploads
- Routes documents to RAG Ingestor, videos to VSS for analysis
- Docker Compose deployment for Kafka, MinIO, and consumer
- Jupyter notebook for end-to-end deployment and testing
- Sample test data (PDF document, MP4 video) tracked via Git LFS

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: polish rag_event_ingest notebook - fix sections, descriptions, TOC

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* refactor: consolidate Setup into single cell - clone, deps, API keys

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* refactor: inline check_rag/vss/aidp_status into their usage cells

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* docs: add markdown description before every code cell

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: notebook is standalone entry point, clones RAG repo to ~/rag

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: set COLLECTION_NAME, load .env, simplify query_rag, add expected logs

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: left-align markdown tables in notebook

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: use HTML tables to force left alignment

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: replace API Keys markdown table with HTML for left alignment

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* feat: add storage verification, RAG frontend hints, and configurable consumer prompts

- Add verify_file_in_storage() helper to confirm files landed in MinIO
- Merge storage verification into document/video ingestion checks
- Add RAG Frontend UI link (port 8090) to query sections
- Make Kafka consumer VSS prompts configurable via env vars in docker-compose
- Install git/git-lfs in notebook setup cell
- Index cells in Deploy Continuous Ingestion section

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: skip RAG clone if directory already exists

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: url

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* feat: add continuous ingestion notebook for video and document pipeline

Add rag_event_ingest.ipynb notebook that provides an end-to-end walkthrough for:
- Deploying NVIDIA RAG stack (NIMs, Milvus, Ingestor, RAG Server)
- Deploying NVIDIA VSS stack (VLM, LLM, Embedding, Reranker NIMs)
- Deploying continuous ingestion pipeline (Kafka, MinIO, Kafka Consumer)
- Configurable video analysis prompts for the Kafka consumer
- Uploading documents and videos to MinIO with storage verification
- Verifying ingestion via consumer logs
- Querying ingested content via RAG API or Frontend UI

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: gpu

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: add ensurepip, fix VSS tag to v2.4.1, use GPUs 2-3 for VSS, update hw req to 4 GPUs

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* fix: tag

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* feat: resolve comment

* fix: patch VSS config to use host-mapped ports for shared RAG embedding/reranker

The via-server runs on the local_deployment_single_gpu_default network,
not nvidia-rag, so it cannot resolve nemoretriever-embedding-ms or
nemoretriever-ranking-ms. Route through host.docker.internal with the
correct host-mapped ports instead (9080 for embedding, 1976 for reranker).

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

---------

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Co-authored-by: anngu <anngu@nvidia.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix query decomp doc and prompt (#316)

* Fix query decomp doc and prompt

* fix prompt in helm as well

* Upgrade to Nemotron RC NIMs and NV-Ingest 26.1.2 (#371)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Preserve filename case in filter; fix syntax error examples to use double quotes (#337)

* conf.py fix (#391)

* confirming presence of switcher text in conf.py file

* docs: adjust conf.py for 2.5.0

* Added vdb serialization if parallel ingestion which helps in high concurrent batch ingestion having indexing issues (#389)

* Update prompt and unify reasoning budged and enable thinking (#386)

* Prompt tuining, low reasoning and reasoning budget

* Filter out think token when enable filter is on

* Use default prompt

* Fix unit test

* Add doc for nemotron thinking budget

* Add question back in prompt.yaml

* Concatenate multimodal content for VLM Embed (#362) (#392)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* security: Fix frontend CVEs (#396)

* Add config to enable nemotron parse only extraction in nv-ingest (#395)

* Add config to enable nemotron parse only extraction in nv-ingest

* Refactor nemotron parse only documentation

* Remove nemotron parse only references from the previous section

* Added patch command in rtx6000pro mig block also in documentation (#398)

* Upgraded to GA nemotron-ranking-ms and nemotron-embedding-ms containers (#402)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Update packages to resolve source code CVEs (#400)

* Update langchain-nvidia-ai-endpointsto >=1.1.0

* security: Update langgraph to version 1.10.0

* Update NIM wait times and patch VSS embed/rerank models (#397)

* Update NIM wait times and patch VSS embed/rerank models

Adjust expected NIM model loading wait from 2-5 min to ~10 min
for RTX PRO 6000 hardware. Add explicit patching of VSS config.yaml
to align embedding and reranker model names with RAG stack defaults.

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* Update VSS prompts to match default format and use seconds-based queries

- Align consumer VSS prompts with VSS config.yaml defaults (sports-adapted):
  caption, caption_summarization, summary_aggregation with proper dedup/merge logic
- Extract RAG embed/rerank model names dynamically from compose file
- Add parse_compose_default helper to avoid hardcoded model names
- Change time-range query from MM:SS to seconds format for VSS compatibility

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* Clean up notebook: rename variable, remove config overrides

- Rename _rag_compose to _rag_compose_path for clarity
- Remove hardcoded max_tokens and batch_size patches from VSS config
- Simplify time-range query cell comments

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* Rename helper function and revert prompts to MM:SS format

- Rename parse_compose_default to extract_rag_default_compose_var
- Revert VSS prompts to MM:SS timestamp conversion style
- Revert time-range query to MM:SS format

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

* Add GPU assignment table and update NIM container names

Update notebook to reflect renamed NIM containers
(nemoretriever-* → nemotron-*) and add default GPU assignment
table for RTX PRO 6000 / H100 hardware.

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor

---------

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>

* docs: Add release note for v2.5.0 release (#401)

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Upgraded to GA containers for page-elements, graphic-elements, table-structure (#403)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Add SHM size 16gb to reranking and VLM NIM in compose (#405)

* Fixed the query to be derived from messages if query is not explicitly given in argument and adding messages list in logs (#404)

* Added url for nvidia/llama-nemotron-rerank-1b-v2 model for cloud endpoint (#412)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* fix start proble failureThreshold to 750 (#411)

* Update: Remove Vss on AIDP notebook (#409)

* Update: Remove Vss

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>

* Remove video processing (VSS) from kafka consumer

Video handler, video analyzer service, and all VSS-related
configuration have been removed to simplify the event ingestion
pipeline to document-only processing.

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Made-with: Cursor
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>

* fix: add USERID

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>

* fix: update document

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>

---------

Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Co-authored-by: Minh Nguyen <minhngu@nvidia.com>

* Kheiss/chunking topic (#417)

* confirming presence of switcher text in conf.py file

* Added chunking information

* CI - Updated Nemotron endpoints for embedding, page-elements, graphic-elements, table-structure (#410)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
Co-authored-by: Shubhadeep Das <149712532+shubhadeepd@users.noreply.github.com>

* Add notebook showcasing langchain connector for Nvidia RAG Retrieval (#419)

* notebook: Add notebook showcasing langchain retriever connector

* Update langchain connector version to 1.2.0

* Fix broken link in notebook doc

* Revert "Added url for nvidia/llama-nemotron-rerank-1b-v2 model for cloud endp…" and add ranker endpoint in nvdev (#421)

This reverts commit 1a11733169fb17e80537f7ded879472a1ada4d8c.

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Nemoretriever OCR version 1.2.0 -> 1.2.1 in Helm (#422)

* Fix name for rag langchain connector (#423)

* Print reasoning tokens if DEBUG logging is enabled (#424)

* Print reasoning tokens if DEBUG logging is enabled (#378)

* Print reasoning tokens if VERBOSE logging is enabled

Signed-off-by: Niyati Singal <nsingal@nvidia.com>

* fix(observability): use hardcoded GenAI attribute keys instead of deprecated SpanAttributes (#377)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

---------

Signed-off-by: Niyati Singal <nsingal@nvidia.com>
Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
Co-authored-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Print reasoning tokens if DEBUG logging is enabled

Signed-off-by: Niyati Singal <nsingal@nvidia.com>

---------

Signed-off-by: Niyati Singal <nsingal@nvidia.com>
Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
Co-authored-by: Swapnil Masurekar <smasurekar@nvidia.com>

* CI: Update helm packaging and selective publish support (#425)

* Add rag-blueprint agent skill with CLAUDE.md and project config (#407)

* Add rag-blueprint agent skill with CLAUDE.md and project config

* Update query-and-conversation.md

* Update notebooks.md

Updated with NVIDIA style guide recommendations

---------

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* doc: Fix broken links in notebooks and docs (#426)

* Kheiss/prd additions (#427)

* confirming presence of switcher text in conf.py file

* Update documentation to reflect name change to NeMo Retriever Library

* Update api-rag.md

removed GitHub markers

* Update change-model.md

Removed GitHub markers

* Update deploy-helm.md

removed GitHub markers

* Update deploy-helm.md

Remove GitHub markers

* Update deploy-helm.md

Remove GitHub markers

* Update mig-deployment.md

removed GitHub markers

* Update deploy-helm.md

removed extra space

* Launchable Updates for release 2.5 (#428) (#429)

Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>

* Kheiss/cont ingest (#431)

* confirming presence of switcher text in conf.py file

* Continuous ingestion topic

* updated index for continuous ingestion

* updated reademe for continuous ingestion

* Update continuous-ingestion-object-storage.md

added RAG Blueprint

* Update continuous-ingestion-object-storage.md

Converted first sentence into 2 sentences

* Update index.md

* Apply suggestion from @nkmcalli

Co-authored-by: nkmcalli <nmcallister@nvidia.com>

* Update continuous-ingestion-object-storage.md

* Update continuous-ingestion-object-storage.md

* Update continuous-ingestion-object-storage.md

---------

Co-authored-by: nkmcalli <nmcallister@nvidia.com>

* Nemotron 3 super deployment guide and migration guide (#430)

* Nemotron 3 super deployment guide and migration guide

* Organize gpu requirement and heading for nemotron3 super

* Add instruction for updating values.yaml and refractor doc

* Add cloud endpoint url in env file

* Instruction to export llm max token in docker flow

* remove unrequired llm api key from doc

* Seprate yaml for nemotron 3 deployment

* Remove unnecessary information for local hosted

* Simplify docker deployment logs

* Remove cuda device from rtx 6000 pro

* Add prompt customization instruction in nemotron3 helm section

* Instruction for prompt customization

* Remove heading for rtx 6000 pro

* docs: move NIM_MAX_MODEL_LEN and LLM_MAX_TOKENS to general self-hosted deployment steps (#432)

* Update: Remove vss and update Minio access console (#433)

* VLM embed doc fix (#435)

Signed-off-by: smasurekar <smasurekar@nvidia.com>

* docs: add RAG accuracy benchmarks documentation (#434)

* docs: add RAG accuracy benchmarks documentation

* docs: Fix broken links and format in accuracy benchmark doc

* Update accuracy-benchmarks.md

* Update accuracy-benchmarks.md

* Update accuracy-benchmarks.md

* Update accuracy-benchmarks.md

* Update accuracy-benchmarks.md

* Update accuracy-benchmarks.md

implmented changes as instructed by Sumit in Slack thread: https://nvidia.slack.com/archives/C09HAQRT1UY/p1773470561423909

---------

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update to GA artifact path (#437)

* Update changelog to include new additions

* Update containers to GA version

* adding missing accuracy benchmark documentation (#438)

* adding missing accuracy benchmark documentation

* Update docs/evaluate.md

Co-authored-by: nkmcalli <nmcallister@nvidia.com>

---------

Co-authored-by: nkmcalli <nmcallister@nvidia.com>

* fix(unit): avoid real Milvus in delete_documents tests for CI (#440)

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>

* Update release date for v2.5.0

* fix: validate file paths in MCP upload/update tools to prevent path traversal (CWE-22)

The tool_upload_documents and tool_update_documents MCP tools accepted
arbitrary file paths from MCP clients without validation. An attacker
controlling the MCP client (or an LLM agent making tool calls) could
supply paths like /etc/shadow, /proc/self/environ, or ../../sensitive.yaml
to read arbitrary files from the server filesystem and exfiltrate them
by uploading to the ingestor.

Add _validate_file_path() helper that resolves paths via os.path.realpath()
(following symlinks) and verifies they reside within the allowed upload
directory (MCP_UPLOAD_DIR env var, defaults to cwd). Raises ValueError
for paths outside the sandbox.

Both tool_upload_documents and tool_update_documents now call this
validator before reading any file.

Signed-off-by: Sebastion <sebastiondev@users.noreply.github.com>

* Kheiss/versioning modifiers (#462)

* Updated Vidore Dataset to Vidore V3 Dataset (#443)

* Kheiss/rm early access1 (#445)

* remove early access from title

* remove early access from title

* Update documentation per broken link reporting for Brev and support matrix (#458)

* updated versioning method for RAG documentation

* Add GCNV data ingestor Helm chart example (#475)

Package the GCNV data ingestor deployment into a reusable Helm chart with
PVC, service, and namespace templates plus installation guidance for
Trident-backed storage.


Made-with: Cursor

Signed-off-by: Raj Sahoo <raj.sahoo@netapp.com>

* docs(perf): add RAG performance measurement methodology (#490)

* docs(perf): add RAG performance measurement methodology

Add performance benchmarking documentation covering TTFT and ITL
metrics across four datasets (KG-RAG, RagBattlePacket, HotPotQA,
BO767) plus synthetic workloads, comparing LLM-49B and VLM nano
configurations with reasoning on/off.

Signed-off-by: Truong Nguyen <tgnguyen@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* Update docs/perf-benchmarks.md

Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

---------

Signed-off-by: Truong Nguyen <tgnguyen@nvidia.com>
Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* ci: add Run Branch Script dispatcher workflow (#548)

Adds a generic workflow_dispatch workflow that checks out any branch
and runs a specified script on the self-hosted GPU runner. Enables
iterating on NV-BASE eval CI (feat/nvbase-ci-smoke) without merging
workflow changes to main for every iteration.

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* ci: make runner configurable in Run Branch Script dispatcher (#550)

Adds a runner input (choice) so the target runner can be changed
without another PR. Switches default to sonarqube-workflows-bp-sre
(internally hosted, no GPU) since arc-runners-org-nvidia-ai-bp-2-gpu
is cloud-hosted and cannot reach urm.nvidia.com (NVIDIA internal
Artifactory) needed to install nv-base.

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* ci: add blueprints-skills-eval-runner as default runner

New dedicated internal VM for RAG skill eval CI. Added as default
runner option in the dispatcher workflow. sonarqube-workflows-bp-sre
kept as fallback.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* ci: add rag-eval runner option to Run Branch Script dispatcher (#558)

Adds 'rag-eval' to the runner input's choice list so workflow_dispatch
can target the dedicated rag-skill-validator self-hosted runner
(labels: self-hosted, Linux, X64, rag-eval, brev, rag).

This mirrors the VSS skill-eval pattern where a dedicated label routes
jobs to a Brev CPU coordinator VM. Used by the upcoming
ci/run_skill_eval.sh script on feat/skill-eval.

Signed-off-by: richa <ricsingh@nvidia.com>
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* RAG v2.5.1 hotfix: release prep follow-ups (BCS-445) (#505)

* Feat: Update Nemotron-Omni model config

* Update: Update tag v2.5.1 document

* chore: regen uv.lock, sweep docs scripts, sync helm prompt (BCS-445)

Signed-off-by: Phuc Nguyen <pdnguyen@nvidia.com>

* fix: bump langchain-core/orjson/pillow for nSpect CVEs

Signed-off-by: Phuc Nguyen <pdnguyen@nvidia.com>

* Promote nemotron-omni VLM to GA image and switch VLM/image-extract defaults to opt-in

- Bump VLM image: nvcr.io/nvstaging/nim/nemotron-3-nano-30b-a3b-omni-reasoning:1.7.0-variant-rc2-48948519
  -> nvcr.io/nim/nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:1.7.0-variant
  (RC removed; GA word order moves "omni" before 30b-a3b in both image path and model name)
- Rename model identifier across compose, helm values, src docstrings, notebooks and docs
- Default ENABLE_VLM_INFERENCE -> False (helm + compose)
- Default APP_NVINGEST_EXTRACTIMAGES -> False (helm + compose)
- VLM_TO_LLM_FALLBACK confirmed False (no change)
- Update release notes / vlm.md to drop "RC2 not pullable" caveat now that GA is live

Signed-off-by: Phuc Nguyen <pdnguyen@nvidia.com>

* revert: keep text-only embedder as default for v2.5.1

Per PR review feedback (#505): the default embedding model in 2.5.0 was
nvidia/llama-nemotron-embed-1b-v2 (text-only). To preserve backward
compatibility for existing 2.5.0 collections in the v2.5.1 release,
restore the text-only embedder as the default everywhere and make the
VLM embedder (llama-nemotron-embed-vl-1b-v2) opt-in.

Embedder defaults reverted to 2.5.0:
- deploy/compose/.env, nvdev.env, variables.env: text endpoint + model
- docker-compose-rag-server.yaml + ingestor-server.yaml: text active,
  VLM commented out
- deploy/workbench/compose.yaml: text endpoint + model
- nims.yaml: text profile = ["", "rag", "ingest", "text-embed",
  "vlm-generation"] (default), VLM profile = ["vlm-embed", "vlm-ingest"]
  (opt-in)
- helm values.yaml: APP_EMBEDDINGS_* + EMBEDDING_NIM_* point to text;
  nvidia-nim-llama-32-nv-embedqa-1b-v2.enabled=true,
  nvidia-nim-llama-nemotron-embed-vl-1b-v2.enabled=false
- endpoints.md: docs reflect text-only default

Other follow-ups in this PR:
- prompt.yaml (helm + src): restore "/no_think" system directive on
  image_captioning_prompt that was removed during VLM swap
- docs/release-notes.md: rewrite v2.5.1 highlights to describe Nemotron-
  Omni as opt-in (ENABLE_VLM_INFERENCE=False default), drop the breaking-
  change list that no longer applies (no vector-dim change, no profile
  remap, no /no_think removal)

VLM (Nemotron-Omni) opt-in path remains intact; image, profile aliases,
and helm sub-chart definitions are unchanged - only the defaults flip.

Signed-off-by: Phuc Nguyen <pdnguyen@nvidia.com>

* chore: address PR review polish — nim-vlm default false + trim release notes

- helm values.yaml: nim-vlm.enabled = false (VLM is opt-in)
- release-notes.md: drop opening "New opt-in VLM" highlight and the
  closing "Default embedder unchanged" note (covered in lead paragraph)

Signed-off-by: Phuc Nguyen <pdnguyen@nvidia.com>

* revert: keep ingestor-server + rag-frontend at 2.5.0 (reuse from previous release)

Only rag-server is bumped to 2.5.1 in this hotfix (per BCS-445 scope).
Per Shubhadeep's PR review: ingestor-server and rag-frontend containers
are unchanged in v2.5.1 and should reuse the existing 2.5.0 images on NGC.

Reverts the inadvertent ${TAG:-2.5.1} default in:
  - deploy/compose/docker-compose-ingestor-server.yaml (ingestor-server)
  - deploy/compose/docker-compose-rag-server.yaml      (rag-frontend)
  - deploy/workbench/compose.yaml                      (ingestor-server + rag-frontend)

Helm values.yaml already correct (ingestor-server + rag-frontend tags at "2.5.0").

---------

Signed-off-by: Phuc Nguyen <pdnguyen@nvidia.com>
Co-authored-by: An Nguyen <anngu@nvidia.com>

* feat(ci): enable copy-pr-bot for automated PR mirroring

Activates copy-pr-bot on NVIDIA-AI-Blueprints/rag. All NVIDIA org
members with write access are auto-trusted — no individual names
needed. Requires signed commits for trusted-change classification.

Must be on the default branch (main) per copy-pr-bot requirements.
The skill eval workflows (skills-eval.yml) live on develop where
PRs are based.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Vidushi Gupta <vidushig@nvidia.com>

* chore(ci): add vidushig-nv and richa-nvidia as additional_trustees (#604)

Needed because author_association is CONTRIBUTOR not MEMBER for users
who are not direct members of NVIDIA-AI-Blueprints org. This ensures
their signed commits auto-mirror without needing /ok to test.

Signed-off-by: Vidushi Gupta <vidushig@nvidia.com>
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>

* ci: add NVSkills CI request workflow (signing pipeline) (#611)

Adds .github/workflows/request-nvskills-ci.yml — the source-repo handler
  for the NVSkills CI / NVCARPS signing pipeline. Triggered by maintainer
  or admin commenting /nvskills-ci on a PR that changes skills/, and by
  the signature-push back from nv-nvskill-ci[bot].

  Companion to NVBug 6209970 (App install + onboarding + dispatch token)
  and PR #603 (canonical skills/ layout migration), ahead of the
  2026-05-27 Computex cutover for the NVIDIA Verified Skills catalog.

Signed-off-by: Pranjal Doshi <pranjald@nvidia.com>

* ci: Fix nv skills bot name (#626)

* ci(cve): mirror Phase-3 PR-creation workflow to main

This brings the GitHub Actions side of the nightly CVE Phase-3 flow
onto main, which is where workflow_dispatch needs the file to live
for the manual "Create PR" button on Issue #617 to actually trigger.

Files mirrored from develop (merged via #636):
- .github/workflows/cve-create-pr.yml — workflow_dispatch entry point,
  runs on blueprints-skills-eval-runner; reads the patch from the
  marker comment on Issue #617, applies to a fresh develop checkout,
  calls cve-create-pr.sh to materialize branch + PR
- .github/scripts/cve-create-pr.sh — Git Data API dance: blobs →
  tree → commit → ref → PR. Idempotent on same-day re-clicks

The cve-post script (ci/post-cve-report.sh) stays on develop only —
GitLab clones it from there during cve-scan and bundles it into the
artifact.

After this lands on main, the maintainer-clicked "Create PR" button
on Issue #617 becomes functional. No nightly automation changes.

Signed-off-by: richa <ricsingh@nvidia.com>

* ci(cve-pr): mirror compare-URL fallback workflow to main

Companion to PR #642 (target: develop) which adds the same changes.

This PR brings the GHA workflow + script onto main, which is where
GitHub Actions loads the workflow YAML from for workflow_dispatch.
Without this, the new "Notify Issue" step and the script's
compare-URL emission never take effect — the running workflow is
whatever's currently on main.

Why two PRs (develop + main):
- ci/post-cve-report.sh runs from develop (GitLab cve-post clones
  origin/develop). Only on develop in PR #642
- .github/workflows/cve-create-pr.yml is loaded by GitHub from the
  default branch (main) when workflow_dispatch fires. Must be on main
- .github/scripts/cve-create-pr.sh is executed by the workflow after
  it checks out develop, so develop's copy is what runs. But main is
  kept in sync to avoid drift

Same content as PR #642 for these two files. After both merge, the
maintainer-clicked Create-PR flow works end-to-end under the
restrictive org policy that blocks gh pr create:
  click 🚀 → workflow runs ~2 min → Issue notification with compare
  URL → click → GitHub compare page (pre-filled) → click Create PR.

See PR #642 description for the full flow + verification notes.

Signed-off-by: richa <ricsingh@nvidia.com>

* ci: accept maintain role for nvskills requests (#647)

Signed-off-by: Pranjal Doshi <pranjald@nvidia.com>

* ci(cve): edit-in-place compare-URL comment via HTML marker

Replace the append-only "Notify Issue with compare URL" step with an
edit-in-place rolling comment, tagged by <!-- cve-bot-compare-url -->.
Mirrors the pattern already used in ci/post-cve-report.sh for the
<!-- cve-bot-patch --> marker comment.

Before: each successful workflow_dispatch click left a new comment on
Issue #617 (one per branch per click). Same-day re-runs duplicated the
comment; same-day re-runs with a force-updated branch also produced
stale commit SHAs in earlier comments (the SHA no longer matched the
branch tip). After 30 nightlies, 30+ comments accumulated.

After: a single rolling comment is updated on every run. Same-day
re-runs silently overwrite the previous compare-URL line; multi-day
runs show only the latest branch (older branches are still in Git,
recoverable via `git branch -r | grep cve-fix/nightly-`).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: richa <ricsingh@nvidia.com>

* [v2.6.0] Sync release-v2.6.0 to main (#657)

* chore: prepare release-v2.6.0 sync to main

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* chore: keep release image paths staged

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* Helm: expose podAnnotations on all NIMService templates (#658)

Plumb a per-NIM podAnnotations field from values.yaml through to
NIMService.spec.podAnnotations so users can attach pod-level
annotations to NIM workloads. Default is {} (omits the field), so
existing deployments render identically.

Primary motivator is Runai fractional GPU saving-mode, which requires
both gpu-fraction-style annotations on the pod AND fractional GPU
resources, e.g.:

  nimOperator:
    nim-llm:
      podAnnotations:
        gpu-fraction: "0.25"
        gpu-fraction-num-devices: "1"
      resources:
        limits:   { runai.com/gpu: 1 }
        requests: { runai.com/gpu: 1 }

Templates touched: llm-nim, embedding-nim, reranking-nim, vlm-nim,
vlm-captioning-nim, vlm-embed-nim, vlm-reranker-nim. Each gains the
podAnnotations: {} default and a usage comment in values.yaml.

(cherry picked from commit ab4cddf430a7d8c8e3e05c2e64685ad5aeeaf1e3)

Signed-off-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>
Co-authored-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>
(cherry picked from commit b1ea5e813909e81bad2d96a54c106f34cff658a5)
Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* fix: move vlm reranker host port (#656)

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>
(cherry picked from commit 51d5caf79fcd17def62aa40e751ee4955323baa3)
Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* [codex] Refresh v2.6 documentation support guidance (#659)

* docs: refresh v2.6 support guidance

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* docs: tighten reasoning and mig guidance

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

---------

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>
(cherry picked from commit 1075cb3f055a3611941926a40381674b9cabbfe0)
Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* chore: update Vite lockfile to 6.4.2 (#660)

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>
(cherry picked from commit e5602db19f4f1977683296c692fdf87b74e7e3ef)
Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* chore: update blueprint container registry paths (#661)

* chore: update blueprint container registry paths

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* ci: tag publish images for staging registry

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

---------

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>
(cherry picked from commit 8b6f492ea2583c5c8e87d71d4e3621bcf50eeea9)
Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* ci: enable coderabbit reviews for draft prs

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

---------

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>
Signed-off-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>
Co-authored-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>

* docs: fix Sphinx build, version switcher, and style for v2.6.0 (#665)

Resolve broken xrefs and lexers, add version switcher manifest hook,
update versions1.json for 2.6.0-2.3.0, and apply DORI style guide fixes.


(cherry picked from commit f66cdec10d5e5c2d4a77d4dde4a4b4dea37797fa)

Signed-off-by: Kurt Heiss <kheiss@nvidia.com>
Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* deploy RAG stack directly via brev exec, not Harbor; add TaskOutput t… (#668)

* deploy RAG stack directly via brev exec, not Harbor; add TaskOutput timeout; reduce GPU trial multiplier

* fix: address CodeRabbit comments — env field clarity, TaskOutput timeout behavior, robust NIM check

Signed-off-by: Vidushi Gupta <vidushig@nvidia.com>

* fix(eval): discover NIM model dynamically instead of hardcoding model name

Signed-off-by: Vidushi Gupta <vidushig@nvidia.com>

---------

Signed-off-by: Vidushi Gupta <vidushig@nvidia.com>

* chore(release-v2.6.0): sync latest develop changes (#666) (#667)

* ci: minimal Issue body — status + links, full report in artifact

The previous design embedded the skill's full _summary.md (including
Phase 1 fetch details, Phase 6 reviewer verdicts, Infrastructure Map,
Active Versions Checked, NVBugs Audit Trail, etc.) into the GitHub
Issue body. ~100 lines of skill-internal jargon for a daily glance.

New design: 10-line body — status badge (✅ / ⚠️ / ℹ️ derived from the
**Counts:** line in _summary.md), date, scanned commit, GitLab pipeline
link, and Full report (artifact) link. Per-CVE detail, reviewer
verdicts, manifest diff, validation results live in the GitLab artifact
— one click from the body.

Also reads SCAN_JOB_URL from the dotenv emitted by cve-scan (see
companion change on GitLab ci/nightly-cve), so the artifact link points
at the scan job (where the artifact lives), not cve-post's own job URL.




* ci: auto-reopen tracker Issue if closed before refreshing body

If anyone accidentally closes #617, the next nightly run re-opens it
so the rolling tracker can never be orphaned. gh issue reopen is
idempotent — no-op when the Issue is already open, prints "Issue is
already open" and exits 0. Errors are swallowed so this is purely
best-effort defensive.




* feat(skills): migrate to canonical skills/ path per publishing guide

  Move skill content from skill-source/.agents/skills/{rag-blueprint,rag-eval,
  rag-perf}/ to skills/{rag-blueprint,rag-eval,rag-perf}/ at the repo root,
  matching the agentskills.io canonical layout (Step 4 of the Skills Publishing
  Onboarding Guide). The skill-source/ directory is removed entirely; audit
  confirmed no internal or external tool hard-codes the old path.

  Also:
  - Move skill-source/README.md -> skills/README.md
  - Move skill-source/validate_skill_api_versions.py -> scripts/validate_skill_versions.py
  - Rename tests/unit/test_skill_source/ -> tests/unit/test_skills/
  - Add BENCHMARK.md to each of the three skills (Harbor-based methodology)
  - Add skills/PUBLISHING_COMPLIANCE.md as the single source of truth for the
    remaining external coordination items (NVCARPS signing onboarding with a
    2026-05-27 deadline for the Computex cutover, catalog PR draft, OSRB
    checklist, NV-BASE runner install)
  - Update all internal references across CLAUDE.md, AGENTS.md, README.md,
    ci/run_skill_eval.sh, skill-eval/, .openclaw/, .github/skill-eval/AGENTS.md,
    .github/workflows/skills-eval.yml, docs/release-notes.md

  Companion change to be opened against NVIDIA/skills:components.d/rag-blueprint.yml
  to update the path field from skill-source/.agents/skills/ to skills/.

* agentic-bugfix: NVBug 6229456



* Fix: Reduce Otel batch size (#628)

* ci: include Triage table with absolute artifact URLs

Re-add the Triage section to the Issue body so maintainers see the
at-a-glance per-package breakdown without leaving GitHub. Rewrites
the per-CVE relative markdown links (which break when clicked from
GitHub) to absolute GitLab artifact URLs — clicking goes directly
to the file in GitLab's artifact viewer.

Extracts from "## Triage" through the next "## " heading, so the
Counts + Result lines come along but the deeper sections (Phase 1
fetch details, Phase 6 reviewer verdicts, Infrastructure Map, etc.)
stay in the artifact.

Verified locally against both yesterday's 6-CVE artifact and a
synthetic 0-CVE summary.




* Helm MIG (H100): promote embedding-VLM to a full GPU (#633)

* Helm MIG (H100): promote embedding-VLM to a full GPU

Reshape the H100 MIG layout so the embedding-VLM NIM gets a dedicated
full H100 instead of a 3g.40gb slice, improving vision-tower throughput.

  GPU 0,1 — full devices                           → nim-llm (vLLM tp=2)
  GPU 2   — 1x 2g.20gb + 3x 1g.10gb + 1x 1g.20gb   → OCR + (graphic, page, table) + rerank
  GPU 3   — full device                            → embedding-VLM (NEW)

Rerank keeps its 1g.20gb slice (now on GPU 2). OCR drops from 3g.40gb
to 2g.20gb to make room for rerank's slice on GPU 2 (no spare slots
remain). MIG profile renamed to
custom-h100-llm2full-embed1full-1x2g20-3x1g10-1x1g20 and docs
(mig-deployment.md) updated to match the new layout and verification
output.



* Helm MIG (H100): expand to 5-GPU layout to restore OCR slice

Adding a 5th H100 dedicated to the reranker lets the embedding-VLM keep
its full GPU (GPU 3) while restoring OCR to its original 3g.40gb slice
on GPU 2. The previous 4-GPU layout had forced OCR down to 2g.20gb to
fit rerank's 1g.20gb on GPU 2 (H100 MIG memory-slice budget of 8 was
exhausted when packing OCR + 3 small NIMs + rerank on one GPU).

  GPU 0,1 — full devices               -> nim-llm (vLLM tp=2)
  GPU 2   — 1x 3g.40gb + 4x 1g.10gb    -> OCR + graphic/page/table (+ spare)
  GPU 3   — full device                -> embedding-VLM
  GPU 4   — 1x 3g.40gb + 2x 1g.20gb    -> rerank (+ spare 3g.40gb and 1g.20gb)

MIG profile renamed to custom-h100-5gpu-llm2full-embed1full and
docs/mig-deployment.md updated (layout description, kubectl labels,
kubectl-view-allocations, and nvidia-smi -L verification output).



---------



* ci(cve): add Review & Create-PR flow to nightly tracker Issue

Phase 3 of the nightly CVE pipeline. When the agentic-cve-fix skill
produces workspace edits (non-empty cve-fix.patch), this flow lets a
maintainer review the proposed diff inline on Issue #617, then click a
single button to materialize the fix as a PR on develop.

GitLab side (cve-post / ci/post-cve-report.sh):
- Detect cve-fix.patch in the artifact root
- Edit-or-create a single hidden-marker comment (<!-- cve-bot-patch -->)
  on the tracker Issue with the patch inline in a <details> block
- Append "Review & Create PR" section to the body with:
  * Review link → #issuecomment-<id> anchor on the same Issue
  * Create PR link → workflow_dispatch URL of cve-create-pr.yml
- 60 KB inline threshold; fall back to a GitLab artifact link when over

GitHub side (.github/workflows/cve-create-pr.yml + script):
- workflow_dispatch on blueprints-skills-eval-runner (verified via probe
  to reach github.com and gitlab-master.nvidia.com)
- Read patch from the marker comment via gh api
- git apply --3way on a fresh develop checkout
- Build signed commit through Git Data API (gh api git/blobs, trees,
  commits, refs) — commits are auto-signed by github-actions[bot]
- Idempotent: existing PR for cve-fix/nightly-<date> short-circuits

No new tokens, secrets, or branches. GitLab GITHUB_PAT stays at
Issues:write only; GitHub workflow uses the default GITHUB_TOKEN.

Validated locally with shellcheck and 5 mock-gh integration tests
(first run, second run / edit, empty patch, full PR creation, re-click
idempotency).




* ci(cve): install gh CLI on runner before Git Data API calls

The blueprints-skills-eval-runner does not ship with the gh CLI.
Probe (run 26561466990) caught this — the workflow would have failed
at the first gh api call with command-not-found.

Install pattern: download pinned gh 2.62.0 tarball to RUNNER_TEMP/bin
and add to GITHUB_PATH. Subsequent steps in the job see gh on PATH.

Idempotent: if gh is later installed system-wide, command -v short-
circuits the download. Workflow-scoped temp dir means no runner
state pollution between jobs.

Validated by probe v2 (run 26561674766): gh 2.62.0 installs and runs
on the real runner.



* skill maintainence: block PRs where changed skill has no eval/ directory

* ci(cve-post): rewrite ./FILENAME.md Triage links too

Skill commit f5bb788d (jarvis/ai_rules main, 2026-05-27) changed the
Triage table link format from `(FILENAME.md)` to `(./FILENAME.md)`.
The earlier link-rewrite regex `[^()/]+\.md` excluded `/` so it never
matched the new format, leaving 8 broken relative links in today's
Issue #617 body (pipeline 52917159 output).

Update the regex to accept an optional `./` prefix:
  s|\((\.?/?)([^()/]+\.md)\)|(${URL_PREFIX}/\2)|g

Group 2 captures just the bare filename, so the rewritten URL doesn't
inherit the `./` segment. Mirror the same shape in the SCAN_JOB-absent
fallback branch (which strips broken links rather than rewriting).

Verified locally with three test cases:
  [a](a.md)            -> rewritten
  [b](./b.md)          -> rewritten
  [c](https://x.com/y) -> untouched (absolute URLs pass through)

Branch dedicated to this fix so we can test against the live Issue
artifact before merging.



* ci(cve-pr): switch from gh pr create to compare-URL fallback

NVIDIA-AI-Blueprints org policy blocks GHA workflows from calling
gh pr create via GITHUB_TOKEN ("createPullRequest" forbidden). The
permissions: block has no effect — the org-level setting overrides
repo-level. Switching to a service-account PAT is multi-day work.

Workaround: the branch + signed commit are already pushed by the
Git Data API path (which works under restrictive permissions). Build
a https://github.com/.../compare/develop...BRANCH?expand=1 URL with
title and body pre-filled via query params. The maintainer clicks
once, GitHub opens its native PR-creation page with everything
populated, they click "Create pull request" — PR exists.

Script changes (.github/scripts/cve-create-pr.sh):
- Replace gh pr create block with compare-URL emission
- URL-encode title + body via jq -sRr @uri (handles spaces, newlines,
  backticks, &, #, etc.)
- 6 KB length cap with graceful body-drop fallback
- Write summary banner to GITHUB_STEP_SUMMARY with the URL as a
  styled clickable link
- Export compare_url, branch_name, commit_sha to GITHUB_OUTPUT
- Empty-diff abort (NEW): if git apply leaves no workspace changes
  (develop already has the fix), exit 0 with a clear banner instead
  of failing the workflow
- Existing-PR branch now also writes a "View existing PR" banner to
  the summary so re-triggers show the URL even after the previous
  run's page closed

Workflow changes (.github/workflows/cve-create-pr.yml):
- Add issues:write to permissions block — needed for the new step
- Add "Notify Issue" step after the script step. Posts a comment on
  the tracker Issue with the compare URL so anyone subscribed gets
  a notification (the workflow Summary alone is easy to miss)
- Step uses id: create on the script run + reads its outputs
- Apostrophe-free heredoc body for bash 3.2 portability (apostrophes
  inside $(cat <<EOF) misparse on bash 3.2)

Trade-off accepted: one extra human click per CVE fix (compare page's
"Create pull request" button). The PR is opened under the
maintainer's identity, which is actually a feature — clear audit
trail of human approval.

Validated with: shellcheck clean, YAML parse clean, bash 3.2
portability tested, hostile code review (caught the apostrophe
issue), runner reachability tested (probe v2 + smoke tests).



* agentic-bugfix: NVBug 6229403 | Brev launchable fix (#630)

* agentic-bugfix: NVBug 6229403



* Remove depricated changes from launchable notebook

* Added min. disk space for docker as 150gb in brev launchable



---------







* Attach NVSkills validation signatures



* Helm MIG (RTX 6000): drop nim-llm gpus product selector (#648)

Remove the `gpus: [- product: "rtx6000_blackwell_sv"]` selector from
nimOperator.nim-llm.model. The remaining engine/precision/tensorParallelism
(vllm / fp8 / tp2) already matches profile a89dbe9e… on its own, and
keeping the product selector was over-constraining model selection
without adding correctness.



* ci(cve): mint GitHub App installation token in cve-post script

When NV_RAG_CVE_BOT_APP_ID, NV_RAG_CVE_BOT_INSTALLATION_ID, and
NV_RAG_CVE_BOT_PRIVATE_KEY are set, post-cve-report.sh now mints a
short-lived (~9 min) installation token via RS256 JWT signing and uses
it in place of GITHUB_PAT. This flips the actor on Issue #617 body
edits and marker-comment writes from a personal user identity to the
nv-rag-cve-bot App, removing personal-name attribution and enabling
GitHub notifications to the maintainer.

The implementation is additive: if any of the three App env vars are
unset (local dev, pre-migration smoke runs), the script falls back to
the existing GITHUB_PAT path. The rest of the script is unchanged —
it consumes GITHUB_PAT uniformly, regardless of which auth mode
produced the token.

The companion GitLab .gitlab-ci.yml change (apk add python3
py3-cryptography in cve-post + cve-smoke-test) is already on
ci/nightly-cve as commit 8edfa6e.

Verified end-to-end against the live App (3902749) installed on this
repo: JWT mint succeeds, token returns permissions=contents:write,
issues:write, metadata:read, pull_requests:write scoped to this repo
only; real write test on Issue #617 attributed to
user.login='nv-rag-cve-bot[bot]', user.type='Bot'.




* ci(cve): edit-in-place compare-URL comment via HTML marker

Replace the append-only "Notify Issue with compare URL" step with an
edit-in-place rolling comment, tagged by <!-- cve-bot-compare-url -->.
Mirrors the pattern already used in ci/post-cve-report.sh for the
<!-- cve-bot-patch --> marker comment.

Before: each successful workflow_dispatch click left a new comment on
Issue #617 (one per branch per click). Same-day re-runs duplicated the
comment; same-day re-runs with a force-updated branch also produced
stale commit SHAs in earlier comments (the SHA no longer matched the
branch tip). After 30 nightlies, 30+ comments accumulated.

After: a single rolling comment is updated on every run. Same-day
re-runs silently overwrite the previous compare-URL line; multi-day
runs show only the latest branch (older branches are still in Git,
recoverable via `git branch -r | grep cve-fix/nightly-`).




* Helm: expose podAnnotations on all NIMService templates (#645)

Plumb a per-NIM podAnnotations field from values.yaml through to
NIMService.spec.podAnnotations so users can attach pod-level
annotations to NIM workloads. Default is {} (omits the field), so
existing deployments render identically.

Primary motivator is Runai fractional GPU saving-mode, which requires
both gpu-fraction-style annotations on the pod AND fractional GPU
resources, e.g.:

  nimOperator:
    nim-llm:
      podAnnotations:
        gpu-fraction: "0.25"
        gpu-fraction-num-devices: "1"
      resources:
        limits:   { runai.com/gpu: 1 }
        requests: { runai.com/gpu: 1 }

Templates touched: llm-nim, embedding-nim, reranking-nim, vlm-nim,
vlm-captioning-nim, vlm-embed-nim, vlm-reranker-nim. Each gains the
podAnnotations: {} default and a usage comment in values.yaml.



* ci: add ci/deploy/compose to pre-checkout cleanup for root-owned volumes



---------





















(cherry picked from commit c47aa2bbde307c693b5fa2e8b8810d48545d8f72)

Signed-off-by: richa <ricsingh@nvidia.com>
Signed-off-by: shubhadeepd <shubhadeepd@local>
Signed-off-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>
Signed-off-by: Richa Singh <ricsingh@nvidia.com>
Signed-off-by: agentic-bug-fix <agentic-bug-fix@local>
Signed-off-by: smasurekar <smasurekar@nvidia.com>
Signed-off-by: nvskills-svc-account <svc-nvskills-signing@nvidia.com>
Signed-off-by: Vidushi Gupta <vidushig@nvidia.com>
Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>
Co-authored-by: richa <ricsingh@nvidia.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Pranjal Doshi <pranjald@nvidia.com>
Co-authored-by: shubhadeepd <shubhadeepd@local>
Co-authored-by: anngu-2xx3 <anngu@nvidia.com>
Co-authored-by: nv-pranjald <150428320+nv-pranjald@users.noreply.github.com>
Co-authored-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>
Co-authored-by: Vidushi Gupta <vidushig@nvidia.com>
Co-authored-by: sarath-nalluri <72062105+sarath-nalluri@users.noreply.github.com>
Co-authored-by: agentic-bug-fix <agentic-bug-fix@local>
Co-authored-by: smasurekar <smasurekar@nvidia.com>
Co-authored-by: nvskills-svc-account <svc-nvskills-signing@nvidia.com>

* docs: highlight Agentic RAG in top-level README (#672)

Overview, Key Features (Agentic RAG and Search and Retrieval), and documentation links for release-v2.6.0.


(cherry picked from commit e69a8d1b5ea1bc469b360d59cf00d5ff3c89e555)

Signed-off-by: Kurt Heiss <kheiss@nvidia.com>
Co-authored-by: Kurt Heiss <kheiss@nvidia.com>

* chore: polish RAG 2.6 sanity feedback notes (#670)

* chore: polish launchable feedback notes

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* fix: import fpdf positioning enums correctly

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

---------

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* Update docs/vlm.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* docs: restore main release notes in develop port

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

* fix: restore missed main port content

Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>

---------

Signed-off-by: Swapnil Masurekar <smasurekar@nvidia.com>
Signed-off-by: Niyati Singal <nsingal@nvidia.com>
Signed-off-by: Punit Kumar <punitk@nvidia.com>
Signed-off-by: Minh Nguyen <minhngu@nvidia.com>
Signed-off-by: smasurekar <smasurekar@nvidia.com>
Signed-off-by: Sebastion <sebastiondev@users.noreply.github.com>
Signed-off-by: Raj Sahoo <raj.sahoo@netapp.com>
Signed-off-by: Truong Nguyen <tgnguyen@nvidia.com>
Signed-off-by: richa <ricsingh@nvidia.com>
Signed-off-by: Phuc Nguyen <pdnguyen@nvidia.com>
Signed-off-by: Vidushi Gupta <vidushig@nvidia.com>
Signed-off-by: Pranjal Doshi <pranjald@nvidia.com>
Signed-off-by: Shubhadeep Das <shubhadeepd@nvidia.com>
Signed-off-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>
Signed-off-by: Kurt Heiss <kheiss@nvidia.com>
Signed-off-by: shubhadeepd <shubhadeepd@local>
Signed-off-by: Richa Singh <ricsingh@nvidia.com>
Signed-off-by: agentic-bug-fix <agentic-bug-fix@local>
Signed-off-by: nvskills-svc-account <svc-nvskills-signing@nvidia.com>
Co-authored-by: Swapnil Masurekar <smasurekar@nvidia.com>
Co-authored-by: niyatisingal <nsingal@nvidia.com>
Co-authored-by: kumar-punit <punitk@nvidia.com>
Co-authored-by: Kurt Heiss <kheiss@nvidia.com>
Co-authored-by: rkharwar-nv <rkharwar@nvidia.com>
Co-authored-by: nkmcalli <nkmcalli@yahoo.com>
Co-authored-by: Pranjal Doshi <pranjald@nvidia.com>
Co-authored-by: nv-pranjald <150428320+nv-pranjald@users.noreply.github.com>
Co-authored-by: Minh Nguyen <minhngu@nvidia.com>
Co-authored-by: anngu <anngu@nvidia.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Nikhil Kulkarni <nikkulkarni@nvidia.com>
Co-authored-by: nkmcalli <nmcallister@nvidia.com>
Co-authored-by: Sebastion <sebastion@sebastion.dev>
Co-authored-by: sahoor-netapp <raj.sahoo@netapp.com>
Co-authored-by: Truong Nguyen <tgnguyen@nvidia.com>
Co-authored-by: vidushig-nv <vidushig@nvidia.com>
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: richa-nvidia <ricsingh@nvidia.com>
Co-authored-by: pdnguyen-hub <pdnguyen@nvidia.com>
Co-authored-by: shubhadeepd <shubhadeepd@local>
Co-authored-by: sarath-nalluri <72062105+sarath-nalluri@users.noreply.github.com>
Co-authored-by: agentic-bug-fix <agentic-bug-fix@local>
Co-authored-by: nvskills-svc-account <svc-nvskills-signing@nvidia.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request release-26.03

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants