@@ -3,18 +3,21 @@ kind: Blueprint
33metadata :
44 labels :
55 ai-platform.suse.com/blueprint-name : nvidia-rag-minimal
6- ai-platform.suse.com/blueprint-version : 2.5 .0
7- name : nvidia-rag-minimal-2-5 -0
6+ ai-platform.suse.com/blueprint-version : 2.6 .0
7+ name : nvidia-rag-minimal-2-6 -0
88spec :
9- components :
10- # NOTE: This blueprint requires NVIDIA nim-operator . Please make sure it
11- # is installed on the cluster. Please refer to
9+ # NOTE: This blueprint requires NVIDIA k8s-nim-operator and
10+ # Elasticsearch (ECK) Operator . Please make sure they are
11+ # installed on the cluster. Please refer to
1212 # https://docs.nvidia.com/nim-operator/latest/install.html on how to
13- # install nim-operator.
13+ # install k8s-nim-operator. For Elasticsearch Operator, please
14+ # refer to https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s/install-using-helm-chart.
1415 #
16+ source : Nvidia
17+ components :
1518 - chartName : nvidia-blueprint-rag
1619 chartRepo : nvidia-blueprints
17- chartVersion : v2.5 .0
20+ chartVersion : v2.6 .0
1821 # vendor: nvidia makes the operator's nvidiaInjector auto-create the
1922 # conventional ngc-secret (dockerconfigjson for nvcr.io) and ngc-api
2023 # (NGC_CLI_API_KEY/NGC_API_KEY/NVIDIA_API_KEY) in the release namespace from
3336 ngcApiSecret :
3437 create : false
3538 name : ngc-api
36- image :
37- # DECISION: Pinned to 2.5.0 because 2.5.1 image is not present.
38- # Tracking via https://github.com/NVIDIA-AI-Blueprints/rag/issues/618 ;
39- # bump to 2.5.1 once resolved.
40- tag : " 2.5.0"
4139 envVars :
4240 # DECISION: Downscaled the orchestrator routing targets from the default
4341 # massive 49B Nemotron model to the hyper-efficient Llama 3.2 3B model.
4947 APP_EMBEDDINGS_MODELNAME : nvidia/llama-nemotron-embed-1b-v2
5048 APP_RANKING_MODELNAME : nvidia/llama-nemotron-rerank-1b-v2
5149
50+ APP_EMBEDDINGS_SERVERURL : " nemotron-embedding-ms:8000/v1"
51+
5252 # DECISION: Switched vector search execution entirely to the CPU.
5353 # For text knowledge bases under a few million chunks, CPU dense
5454 # retrieval runs in single-digit milliseconds, saving critical VRAM
9191 # Slashed from default 9000 to 4000 to keep inputs lean.
9292 SUMMARY_LLM_MAX_CHUNK_LENGTH : " 4000"
9393 APP_EMBEDDINGS_MODELNAME : nvidia/llama-nemotron-embed-1b-v2
94+ APP_EMBEDDINGS_SERVERURL : " nemotron-embedding-ms:8000/v1"
9495
9596 # DECISION: Forced document token indexing to run strictly on host
9697 # CPU threads.
@@ -143,6 +144,9 @@ spec:
143144 # save VRAM, resetting this string stops the ingestion pod from
144145 # hanging in an infinite loop waiting for dead services.
145146 COMPONENTS_TO_READY_CHECK : " "
147+
148+ APP_EMBEDDINGS_SERVERURL : " nemotron-embedding-ms:8000/v1"
149+ EMBEDDING_NIM_ENDPOINT : " http://nemotron-embedding-ms:8000/v1"
146150 milvus :
147151 image :
148152 all :
@@ -196,10 +200,21 @@ spec:
196200 # 18,640 MiB (18.6 GB) of VRAM just to initialize. Evicting this
197201 # monster cleared out 80%+ of our GPU card, giving the embedding,
198202 # ranking, and LLM services a clean slate.
199- nemoretriever_ocr_v1 :
203+ ocr :
200204 enabled : false
201205 # NIM Operator Deployments (3B LLM Engine)
202206 nimOperator :
207+ # DECISION: nim-vlm is another memory eating monster so disable it
208+ # for now.
209+ nim-vlm :
210+ enabled : false
211+ # DECISION: disable nvidia-nim-llama-nemotron-embed-vl-1b-v2 as its
212+ # caching job keep failing to download model profiles. Use the non-vlm
213+ # one instead.
214+ nvidia-nim-llama-nemotron-embed-vl-1b-v2 :
215+ enabled : false
216+ nvidia-nim-llama-nemotron-embed-1b-v2 :
217+ enabled : true
203218 nim-llm :
204219 enabled : true
205220 image :
@@ -242,15 +257,45 @@ spec:
242257 # user queries.
243258 - name : NIM_KVCACHE_PERCENT
244259 value : " 0.15"
260+ # DECISION: Expose an ingress to make it easier to access the
261+ # NIM frontend UI. This is a hack, intended for demo purposes as the
262+ # endpoint is not protected by TLS or required any authentication.
263+ # To access the frontend UI, user will need to manually create the
264+ # DNS record for "rag-frontend.suse.demo" with the IP address
265+ # of the NIM frontend node in either /etc/hosts or DNS server.
266+ expose :
267+ ingress :
268+ enabled : true
269+ spec :
270+ rules :
271+ - host : rag-frontend.suse.demo
272+ http :
273+ paths :
274+ - path : /
275+ pathType : Prefix
276+ backend :
277+ service :
278+ name : rag-frontend
279+ port :
280+ number : 3000
245281 description : |
246- Minimal NVIDIA RAG (v2.5 .0) for low-GPU footprints (single ~24 GB GPU,
282+ Minimal NVIDIA RAG (v2.6 .0) for low-GPU footprints (single ~24 GB GPU,
247283 e.g. A10 / L4). Swaps the default 49B Nemotron for Llama 3.2 3B,
248284 disables structural OCR / table / chart extraction to reclaim ~18 GB
249285 VRAM, forces CPU vector search/index, drops chart resource bounds to
250286 fit a single node, and pins Milvus standalone (text-only RAG). Not
251287 for production: tracing/observability stack is disabled, and the
252288 token budget is tuned for the small LLM, not throughput.
253289
254- NOTE: this blueprint requires nim-operator.
290+ This blueprint exposes an ingress endpoint for the RAG Frontend UI
291+ with the name "rag-frontend.suse.demo".
292+ To access the RAG Frontend UI:
293+
294+ 1. get the external IP of the node
295+ 2. create a DNS entry in either your /etc/hosts file or DNS server
296+ for "rag-frontend.suse.com" with the node IP
297+ 3. point your browser to http://rag-frontend.suse.demo
298+
299+ NOTE: this blueprint requires k8s-nim-operator and Elasticsearch eck-operator.
255300 displayName : NVIDIA RAG (minimal, low-GPU)
256- version : 2.5 .0
301+ version : 2.6 .0
0 commit comments