[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-riva-asr-custom":3,"mdc--nmpbuu-key":34,"related-org-nvidia-riva-asr-custom":2272,"related-repo-nvidia-riva-asr-custom":2431},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"riva-asr-custom","deploy custom Riva ASR models","Use when the user wants to deploy a custom-trained ASR model as a Riva NIM, or convert a NeMo model via nemo2riva \u002F riva-build \u002F riva-deploy \u002F RMIR.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,17,20],{"name":13,"slug":14,"type":15},"Deployment","deployment","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"AI Infrastructure","ai-infrastructure",{"name":21,"slug":22,"type":15},"Speech","speech",6,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdigital-health-skills","2026-07-14T05:35:44.009948","Apache-2.0",1,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"NVIDIA Digital Health skills repo for agent-guided healthcare AI workflows, including evaluation, data generation, model adaptation, deployment guidance, and developer best practices.","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fdigital-health-skills\u002Ftree\u002FHEAD\u002Fskills\u002Friva-asr-custom","---\nname: \"riva-asr-custom\"\nlicense: \"Apache-2.0\"\ndescription: \"Use when the user wants to deploy a custom-trained ASR model as a Riva NIM, or convert a NeMo model via nemo2riva \u002F riva-build \u002F riva-deploy \u002F RMIR.\"\nmetadata:\n  author: \"Mayank Jain \u003Cmayjain@nvidia.com>\"\n  team: riva\n  tags:\n    - nvidia\n    - riva\n    - nim\n    - asr\n    - custom-model\n    - nemo2riva\n    - riva-build\n    - riva-deploy\n    - rmir\n    - fine-tuning\n  domain: ml\n  version: \"1.0.0\"\n---\n\n# Riva ASR Custom Model Deployment\n\n> **Agent:** Announce each phase before presenting it: **Phase N\u002F4 — Phase Title** (e.g., \"**Phase 1\u002F4 — Obtain a .riva File**\").\n\n## Purpose\n\nDeploy a custom NeMo-trained ASR model as a Riva NIM when pre-built NIMs do not meet accuracy requirements or need domain-specific vocabulary.\n\n## Prerequisites\n\n- Complete `riva-nim-setup`: NVIDIA Container Toolkit, `NGC_API_KEY` exported (driver minimum: see prerequisites page)\n- A trained NeMo model checkpoint (`.nemo` file)\n- `nemo2riva` PyPI package (installed on host, not inside container)\n\n## Instructions\n\n1. **Phase 1**: Obtain a `.riva` file (download from NGC or convert `.nemo` via `nemo2riva`).\n2. **Phase 2**: Build an RMIR with `riva-build` (run inside the NIM container).\n3. **Phase 3**: Deploy the model repository with `riva-deploy`.\n4. **Phase 4**: Launch the custom NIM and run inference.\n\nRun `riva-build` and `riva-deploy` inside the NIM container (enter with `--entrypoint \u002Fbin\u002Fbash`). All paths like `\u002Friva_build_deploy\u002F` refer to the mounted directory inside the container.\n\n## Phase 1 — Obtain a `.riva` File\n\nTwo sources:\n\n**Option A — Download a pre-built artifact from NGC** (recommended if you haven't fine-tuned):\n\n```bash\nngc registry model download-version \\\n  nim\u002Fnvidia\u002F\u003Cmodel-name>_finetune:\u003Cversion> \\\n  --dest \u002Fpath\u002Fto\u002Fartifacts\u002F\n```\n\nUse `deployable_vX.Y` versions — these contain the `.riva` file ready for `riva-build`. `trainable_vX.Y` versions are for NeMo fine-tuning, not deployment.\n\nSee `riva-pipelines` → NGC Model Artifacts for the full table of available models and versions.\n\n**Option B — Export your own NeMo checkpoint**:\n\n```bash\npip install nemo2riva\nnemo2riva --out \u002Fpath\u002Fto\u002Fartifacts\u002Fmodel.riva \u002Fpath\u002Fto\u002Fmodel.nemo\n\n# With encryption key (optional):\nnemo2riva --out \u002Fpath\u002Fto\u002Fartifacts\u002Fmodel.riva \\\n  --key \u003Cencryption_key> \\\n  \u002Fpath\u002Fto\u002Fmodel.nemo\n```\n\nRefer to the [nemo2riva README](https:\u002F\u002Fgithub.com\u002Fnvidia-riva\u002Fnemo2riva) for architecture-specific export options.\n\n---\n\n## Phase 2 — Build RMIR with `riva-build`\n\nRun `riva-build` inside the NIM container. This creates the RMIR (Riva Model Intermediate Representation) file.\n\n```bash\n# Set the container image matching the model type you're deploying\nexport CONTAINER_ID=parakeet-1-1b-ctc-en-us   # use the base NIM that matches your model arch\nexport NIM_EXPORT_PATH=~\u002Fnim_export\nexport ARTIFACT_DIR=\u002Fpath\u002Fto\u002Fartifacts         # directory containing your .riva file\n\nmkdir -p $NIM_EXPORT_PATH && chmod 700 $NIM_EXPORT_PATH\n\n# Launch interactive shell inside the NIM container\ndocker run --gpus all -it --rm \\\n  -v $ARTIFACT_DIR:\u002Friva_build_deploy \\\n  -v $NIM_EXPORT_PATH:\u002Fmodel_tar \\\n  --entrypoint=\"\u002Fbin\u002Fbash\" \\\n  --name riva-build-deploy \\\n  nvcr.io\u002Fnim\u002Fnvidia\u002F$CONTAINER_ID:latest\n```\n\nInside the container, run `riva-build`:\n\n```bash\n# Basic speech recognition pipeline\nriva-build speech_recognition \\\n  \u002Friva_build_deploy\u002Fcustom_model.rmir \\\n  \u002Friva_build_deploy\u002Fmodel.riva\n\n# With encryption key\nriva-build speech_recognition \\\n  \u002Friva_build_deploy\u002Fcustom_model.rmir:\u003Cencryption_key> \\\n  \u002Friva_build_deploy\u002Fmodel.riva:\u003Cencryption_key>\n\n# Force overwrite if .rmir already exists\nriva-build speech_recognition -f \\\n  \u002Friva_build_deploy\u002Fcustom_model.rmir \\\n  \u002Friva_build_deploy\u002Fmodel.riva\n```\n\nAvailable `\u003Cpipeline>` values:\n- `speech_recognition` — ASR transcription pipeline\n- `punctuation` — punctuation restoration\n\nFor pipeline configuration options (streaming, offline, VAD, language model, etc.), see `riva-pipelines`.\n\n---\n\n## Phase 3 — Deploy Model Repository with `riva-deploy`\n\nStill inside the container (or re-enter it), run `riva-deploy` to build the Triton model repository:\n\n```bash\nriva-deploy \u002Friva_build_deploy\u002Fcustom_model.rmir \u002Fdata\u002Fmodels\n\n# Force overwrite\nriva-deploy -f \u002Friva_build_deploy\u002Fcustom_model.rmir \u002Fdata\u002Fmodels\n```\n\n**Important:** Always deploy to `\u002Fdata\u002Fmodels` inside the container. Deploying elsewhere requires manual path fixes in Triton config files.\n\nAfter deploy completes, create the tar archive:\n\n```bash\ncd \u002Fdata\u002Fmodels\ntar -czf \u002Fmodel_tar\u002Fcustom_model.tar.gz *\n```\n\nExit and remove the container:\n\n```bash\nexit\ndocker stop riva-build-deploy 2>\u002Fdev\u002Fnull; docker rm riva-build-deploy 2>\u002Fdev\u002Fnull\n```\n\nYour `custom_model.tar.gz` is now in `$NIM_EXPORT_PATH` on the host.\n\n---\n\n## Phase 4 — Launch the Custom NIM\n\n```bash\ndocker run -it --rm --name=$CONTAINER_ID \\\n  --runtime=nvidia \\\n  --gpus '\"device=0\"' \\\n  --shm-size=8GB \\\n  -e NGC_API_KEY \\\n  -e NIM_TAGS_SELECTOR \\\n  -e NIM_DISABLE_MODEL_DOWNLOAD=true \\\n  -e NIM_HTTP_API_PORT=9000 \\\n  -e NIM_GRPC_API_PORT=50051 \\\n  -p 9000:9000 \\\n  -p 50051:50051 \\\n  -v $NIM_EXPORT_PATH:\u002Fopt\u002Fnim\u002Fexport \\\n  -e NIM_EXPORT_PATH=\u002Fopt\u002Fnim\u002Fexport \\\n  nvcr.io\u002Fnim\u002Fnvidia\u002F$CONTAINER_ID:latest\n```\n> **Security note:** Environment variables passed via `-e` to Docker are visible\n> in `docker inspect` output and process listings. For production, use Docker\n> secrets or a secrets manager instead of passing credentials as env vars.\n\n\n`NIM_DISABLE_MODEL_DOWNLOAD=true` prevents the container from downloading pre-trained models from NGC and uses the custom repository from `NIM_EXPORT_PATH` instead.\n\n## Verify Readiness\n\n```bash\ncurl -X GET http:\u002F\u002Flocalhost:9000\u002Fv1\u002Fhealth\u002Fready\n# Expected: {\"status\":\"ready\"}\n```\n\n## Run Inference on the Custom Model\n\n```bash\npython3 python-clients\u002Fscripts\u002Fasr\u002Ftranscribe_file_offline.py \\\n  --server 0.0.0.0:50051 \\\n  --input-file \u002Fpath\u002Fto\u002Faudio.wav \\\n  --language-code en-US\n```\n\n---\n\n## Examples\n\nThese are variations on the canonical phase commands above; for the standard flow follow Phases 1–4 directly.\n\n**Export an encrypted `.riva` from NeMo (Phase 1, Option B variant):**\n```bash\nnemo2riva --out \u002Fartifacts\u002Fmodel.riva --key my-secret \u002Fpath\u002Fto\u002Fmodel.nemo\n```\n\n**Build a punctuation pipeline instead of speech recognition (Phase 2 variant):**\n```bash\nriva-build punctuation \\\n  \u002Friva_build_deploy\u002Fpunct_model.rmir \\\n  \u002Friva_build_deploy\u002Fpunct_model.riva\n```\n\n**Re-deploy after editing `.rmir` (Phase 3 variant — force overwrite):**\n```bash\nriva-deploy -f \u002Friva_build_deploy\u002Fcustom_model.rmir \u002Fdata\u002Fmodels\n```\n\n\n## Troubleshooting\n\n- **Match container to model architecture** — use the NIM container image that matches your model family (e.g., `parakeet-1-1b-ctc-en-us` for CTC Parakeet-based models).\n- **Deploy to `\u002Fdata\u002Fmodels` only** — other paths break Triton config references without manual edits.\n- **`NIM_DISABLE_MODEL_DOWNLOAD=true` is required** — without it, the container ignores the custom model and downloads the default pre-trained model.\n- **Encryption key consistency** — if you used an encryption key in `nemo2riva`, use the same key in `riva-build` and `riva-deploy`.\n- **`-f` flag for rebuilds** — `riva-build` and `riva-deploy` skip existing files by default; add `-f` to force a rebuild.\n- **Phase 3 runs on target GPU** — `riva-deploy` optimizes TensorRT engines for the deployment GPU; run it on the same GPU class you'll use in production.\n- **nemo2riva vs. architecture** — not all NeMo model architectures are supported by every NIM image; check the nemo2riva README for compatibility.\n\n\n## Limitations\n\n- x86_64 architecture only — `nemo2riva` and the NIM container must run on the same architecture\n- NVIDIA AI Enterprise license required for self-hosting\n- `nemo2riva` compatibility is version-locked to the NeMo training version — check compatibility before converting\n\n## Next Steps\n\n- Configure pipeline details (VAD, diarization, language model, streaming): see `riva-pipelines`\n- Check system requirements: see `riva-ops`\n\n",{"data":35,"body":50},{"name":4,"license":26,"description":6,"metadata":36},{"author":37,"team":38,"tags":39,"domain":48,"version":49},"Mayank Jain \u003Cmayjain@nvidia.com>","riva",[8,38,40,41,42,43,44,45,46,47],"nim","asr","custom-model","nemo2riva","riva-build","riva-deploy","rmir","fine-tuning","ml","1.0.0",{"type":51,"children":52},"root",[53,62,92,99,104,110,160,166,246,281,294,299,309,424,459,472,482,608,624,628,639,650,951,962,1149,1162,1187,1198,1201,1212,1224,1282,1300,1305,1348,1353,1422,1443,1446,1452,1722,1751,1770,1776,1814,1820,1891,1894,1900,1905,1920,1957,1965,2008,2024,2050,2056,2200,2206,2236,2242,2266],{"type":54,"tag":55,"props":56,"children":58},"element","h1",{"id":57},"riva-asr-custom-model-deployment",[59],{"type":60,"value":61},"text","Riva ASR Custom Model Deployment",{"type":54,"tag":63,"props":64,"children":65},"blockquote",{},[66],{"type":54,"tag":67,"props":68,"children":69},"p",{},[70,76,78,83,85,90],{"type":54,"tag":71,"props":72,"children":73},"strong",{},[74],{"type":60,"value":75},"Agent:",{"type":60,"value":77}," Announce each phase before presenting it: ",{"type":54,"tag":71,"props":79,"children":80},{},[81],{"type":60,"value":82},"Phase N\u002F4 — Phase Title",{"type":60,"value":84}," (e.g., \"",{"type":54,"tag":71,"props":86,"children":87},{},[88],{"type":60,"value":89},"Phase 1\u002F4 — Obtain a .riva File",{"type":60,"value":91},"\").",{"type":54,"tag":93,"props":94,"children":96},"h2",{"id":95},"purpose",[97],{"type":60,"value":98},"Purpose",{"type":54,"tag":67,"props":100,"children":101},{},[102],{"type":60,"value":103},"Deploy a custom NeMo-trained ASR model as a Riva NIM when pre-built NIMs do not meet accuracy requirements or need domain-specific vocabulary.",{"type":54,"tag":93,"props":105,"children":107},{"id":106},"prerequisites",[108],{"type":60,"value":109},"Prerequisites",{"type":54,"tag":111,"props":112,"children":113},"ul",{},[114,137,150],{"type":54,"tag":115,"props":116,"children":117},"li",{},[118,120,127,129,135],{"type":60,"value":119},"Complete ",{"type":54,"tag":121,"props":122,"children":124},"code",{"className":123},[],[125],{"type":60,"value":126},"riva-nim-setup",{"type":60,"value":128},": NVIDIA Container Toolkit, ",{"type":54,"tag":121,"props":130,"children":132},{"className":131},[],[133],{"type":60,"value":134},"NGC_API_KEY",{"type":60,"value":136}," exported (driver minimum: see prerequisites page)",{"type":54,"tag":115,"props":138,"children":139},{},[140,142,148],{"type":60,"value":141},"A trained NeMo model checkpoint (",{"type":54,"tag":121,"props":143,"children":145},{"className":144},[],[146],{"type":60,"value":147},".nemo",{"type":60,"value":149}," file)",{"type":54,"tag":115,"props":151,"children":152},{},[153,158],{"type":54,"tag":121,"props":154,"children":156},{"className":155},[],[157],{"type":60,"value":43},{"type":60,"value":159}," PyPI package (installed on host, not inside container)",{"type":54,"tag":93,"props":161,"children":163},{"id":162},"instructions",[164],{"type":60,"value":165},"Instructions",{"type":54,"tag":167,"props":168,"children":169},"ol",{},[170,202,219,236],{"type":54,"tag":115,"props":171,"children":172},{},[173,178,180,186,188,193,195,200],{"type":54,"tag":71,"props":174,"children":175},{},[176],{"type":60,"value":177},"Phase 1",{"type":60,"value":179},": Obtain a ",{"type":54,"tag":121,"props":181,"children":183},{"className":182},[],[184],{"type":60,"value":185},".riva",{"type":60,"value":187}," file (download from NGC or convert ",{"type":54,"tag":121,"props":189,"children":191},{"className":190},[],[192],{"type":60,"value":147},{"type":60,"value":194}," via ",{"type":54,"tag":121,"props":196,"children":198},{"className":197},[],[199],{"type":60,"value":43},{"type":60,"value":201},").",{"type":54,"tag":115,"props":203,"children":204},{},[205,210,212,217],{"type":54,"tag":71,"props":206,"children":207},{},[208],{"type":60,"value":209},"Phase 2",{"type":60,"value":211},": Build an RMIR with ",{"type":54,"tag":121,"props":213,"children":215},{"className":214},[],[216],{"type":60,"value":44},{"type":60,"value":218}," (run inside the NIM container).",{"type":54,"tag":115,"props":220,"children":221},{},[222,227,229,234],{"type":54,"tag":71,"props":223,"children":224},{},[225],{"type":60,"value":226},"Phase 3",{"type":60,"value":228},": Deploy the model repository with ",{"type":54,"tag":121,"props":230,"children":232},{"className":231},[],[233],{"type":60,"value":45},{"type":60,"value":235},".",{"type":54,"tag":115,"props":237,"children":238},{},[239,244],{"type":54,"tag":71,"props":240,"children":241},{},[242],{"type":60,"value":243},"Phase 4",{"type":60,"value":245},": Launch the custom NIM and run inference.",{"type":54,"tag":67,"props":247,"children":248},{},[249,251,256,258,263,265,271,273,279],{"type":60,"value":250},"Run ",{"type":54,"tag":121,"props":252,"children":254},{"className":253},[],[255],{"type":60,"value":44},{"type":60,"value":257}," and ",{"type":54,"tag":121,"props":259,"children":261},{"className":260},[],[262],{"type":60,"value":45},{"type":60,"value":264}," inside the NIM container (enter with ",{"type":54,"tag":121,"props":266,"children":268},{"className":267},[],[269],{"type":60,"value":270},"--entrypoint \u002Fbin\u002Fbash",{"type":60,"value":272},"). All paths like ",{"type":54,"tag":121,"props":274,"children":276},{"className":275},[],[277],{"type":60,"value":278},"\u002Friva_build_deploy\u002F",{"type":60,"value":280}," refer to the mounted directory inside the container.",{"type":54,"tag":93,"props":282,"children":284},{"id":283},"phase-1-obtain-a-riva-file",[285,287,292],{"type":60,"value":286},"Phase 1 — Obtain a ",{"type":54,"tag":121,"props":288,"children":290},{"className":289},[],[291],{"type":60,"value":185},{"type":60,"value":293}," File",{"type":54,"tag":67,"props":295,"children":296},{},[297],{"type":60,"value":298},"Two sources:",{"type":54,"tag":67,"props":300,"children":301},{},[302,307],{"type":54,"tag":71,"props":303,"children":304},{},[305],{"type":60,"value":306},"Option A — Download a pre-built artifact from NGC",{"type":60,"value":308}," (recommended if you haven't fine-tuned):",{"type":54,"tag":310,"props":311,"children":316},"pre",{"className":312,"code":313,"language":314,"meta":315,"style":315},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ngc registry model download-version \\\n  nim\u002Fnvidia\u002F\u003Cmodel-name>_finetune:\u003Cversion> \\\n  --dest \u002Fpath\u002Fto\u002Fartifacts\u002F\n","bash","",[317],{"type":54,"tag":121,"props":318,"children":319},{"__ignoreMap":315},[320,353,410],{"type":54,"tag":321,"props":322,"children":324},"span",{"class":323,"line":27},"line",[325,331,337,342,347],{"type":54,"tag":321,"props":326,"children":328},{"style":327},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[329],{"type":60,"value":330},"ngc",{"type":54,"tag":321,"props":332,"children":334},{"style":333},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[335],{"type":60,"value":336}," registry",{"type":54,"tag":321,"props":338,"children":339},{"style":333},[340],{"type":60,"value":341}," model",{"type":54,"tag":321,"props":343,"children":344},{"style":333},[345],{"type":60,"value":346}," download-version",{"type":54,"tag":321,"props":348,"children":350},{"style":349},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[351],{"type":60,"value":352}," \\\n",{"type":54,"tag":321,"props":354,"children":356},{"class":323,"line":355},2,[357,362,368,373,378,383,388,392,397,402,406],{"type":54,"tag":321,"props":358,"children":359},{"style":333},[360],{"type":60,"value":361},"  nim\u002Fnvidia\u002F",{"type":54,"tag":321,"props":363,"children":365},{"style":364},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[366],{"type":60,"value":367},"\u003C",{"type":54,"tag":321,"props":369,"children":370},{"style":333},[371],{"type":60,"value":372},"model-nam",{"type":54,"tag":321,"props":374,"children":375},{"style":349},[376],{"type":60,"value":377},"e",{"type":54,"tag":321,"props":379,"children":380},{"style":364},[381],{"type":60,"value":382},">",{"type":54,"tag":321,"props":384,"children":385},{"style":333},[386],{"type":60,"value":387},"_finetune:",{"type":54,"tag":321,"props":389,"children":390},{"style":364},[391],{"type":60,"value":367},{"type":54,"tag":321,"props":393,"children":394},{"style":333},[395],{"type":60,"value":396},"versio",{"type":54,"tag":321,"props":398,"children":399},{"style":349},[400],{"type":60,"value":401},"n",{"type":54,"tag":321,"props":403,"children":404},{"style":364},[405],{"type":60,"value":382},{"type":54,"tag":321,"props":407,"children":408},{"style":349},[409],{"type":60,"value":352},{"type":54,"tag":321,"props":411,"children":413},{"class":323,"line":412},3,[414,419],{"type":54,"tag":321,"props":415,"children":416},{"style":333},[417],{"type":60,"value":418},"  --dest",{"type":54,"tag":321,"props":420,"children":421},{"style":333},[422],{"type":60,"value":423}," \u002Fpath\u002Fto\u002Fartifacts\u002F\n",{"type":54,"tag":67,"props":425,"children":426},{},[427,429,435,437,442,444,449,451,457],{"type":60,"value":428},"Use ",{"type":54,"tag":121,"props":430,"children":432},{"className":431},[],[433],{"type":60,"value":434},"deployable_vX.Y",{"type":60,"value":436}," versions — these contain the ",{"type":54,"tag":121,"props":438,"children":440},{"className":439},[],[441],{"type":60,"value":185},{"type":60,"value":443}," file ready for ",{"type":54,"tag":121,"props":445,"children":447},{"className":446},[],[448],{"type":60,"value":44},{"type":60,"value":450},". ",{"type":54,"tag":121,"props":452,"children":454},{"className":453},[],[455],{"type":60,"value":456},"trainable_vX.Y",{"type":60,"value":458}," versions are for NeMo fine-tuning, not deployment.",{"type":54,"tag":67,"props":460,"children":461},{},[462,464,470],{"type":60,"value":463},"See ",{"type":54,"tag":121,"props":465,"children":467},{"className":466},[],[468],{"type":60,"value":469},"riva-pipelines",{"type":60,"value":471}," → NGC Model Artifacts for the full table of available models and versions.",{"type":54,"tag":67,"props":473,"children":474},{},[475,480],{"type":54,"tag":71,"props":476,"children":477},{},[478],{"type":60,"value":479},"Option B — Export your own NeMo checkpoint",{"type":60,"value":481},":",{"type":54,"tag":310,"props":483,"children":485},{"className":312,"code":484,"language":314,"meta":315,"style":315},"pip install nemo2riva\nnemo2riva --out \u002Fpath\u002Fto\u002Fartifacts\u002Fmodel.riva \u002Fpath\u002Fto\u002Fmodel.nemo\n\n# With encryption key (optional):\nnemo2riva --out \u002Fpath\u002Fto\u002Fartifacts\u002Fmodel.riva \\\n  --key \u003Cencryption_key> \\\n  \u002Fpath\u002Fto\u002Fmodel.nemo\n",[486],{"type":54,"tag":121,"props":487,"children":488},{"__ignoreMap":315},[489,507,529,538,548,568,599],{"type":54,"tag":321,"props":490,"children":491},{"class":323,"line":27},[492,497,502],{"type":54,"tag":321,"props":493,"children":494},{"style":327},[495],{"type":60,"value":496},"pip",{"type":54,"tag":321,"props":498,"children":499},{"style":333},[500],{"type":60,"value":501}," install",{"type":54,"tag":321,"props":503,"children":504},{"style":333},[505],{"type":60,"value":506}," nemo2riva\n",{"type":54,"tag":321,"props":508,"children":509},{"class":323,"line":355},[510,514,519,524],{"type":54,"tag":321,"props":511,"children":512},{"style":327},[513],{"type":60,"value":43},{"type":54,"tag":321,"props":515,"children":516},{"style":333},[517],{"type":60,"value":518}," --out",{"type":54,"tag":321,"props":520,"children":521},{"style":333},[522],{"type":60,"value":523}," \u002Fpath\u002Fto\u002Fartifacts\u002Fmodel.riva",{"type":54,"tag":321,"props":525,"children":526},{"style":333},[527],{"type":60,"value":528}," \u002Fpath\u002Fto\u002Fmodel.nemo\n",{"type":54,"tag":321,"props":530,"children":531},{"class":323,"line":412},[532],{"type":54,"tag":321,"props":533,"children":535},{"emptyLinePlaceholder":534},true,[536],{"type":60,"value":537},"\n",{"type":54,"tag":321,"props":539,"children":541},{"class":323,"line":540},4,[542],{"type":54,"tag":321,"props":543,"children":545},{"style":544},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[546],{"type":60,"value":547},"# With encryption key (optional):\n",{"type":54,"tag":321,"props":549,"children":551},{"class":323,"line":550},5,[552,556,560,564],{"type":54,"tag":321,"props":553,"children":554},{"style":327},[555],{"type":60,"value":43},{"type":54,"tag":321,"props":557,"children":558},{"style":333},[559],{"type":60,"value":518},{"type":54,"tag":321,"props":561,"children":562},{"style":333},[563],{"type":60,"value":523},{"type":54,"tag":321,"props":565,"children":566},{"style":349},[567],{"type":60,"value":352},{"type":54,"tag":321,"props":569,"children":570},{"class":323,"line":23},[571,576,581,586,591,595],{"type":54,"tag":321,"props":572,"children":573},{"style":333},[574],{"type":60,"value":575},"  --key",{"type":54,"tag":321,"props":577,"children":578},{"style":364},[579],{"type":60,"value":580}," \u003C",{"type":54,"tag":321,"props":582,"children":583},{"style":333},[584],{"type":60,"value":585},"encryption_ke",{"type":54,"tag":321,"props":587,"children":588},{"style":349},[589],{"type":60,"value":590},"y",{"type":54,"tag":321,"props":592,"children":593},{"style":364},[594],{"type":60,"value":382},{"type":54,"tag":321,"props":596,"children":597},{"style":349},[598],{"type":60,"value":352},{"type":54,"tag":321,"props":600,"children":602},{"class":323,"line":601},7,[603],{"type":54,"tag":321,"props":604,"children":605},{"style":333},[606],{"type":60,"value":607},"  \u002Fpath\u002Fto\u002Fmodel.nemo\n",{"type":54,"tag":67,"props":609,"children":610},{},[611,613,622],{"type":60,"value":612},"Refer to the ",{"type":54,"tag":614,"props":615,"children":619},"a",{"href":616,"rel":617},"https:\u002F\u002Fgithub.com\u002Fnvidia-riva\u002Fnemo2riva",[618],"nofollow",[620],{"type":60,"value":621},"nemo2riva README",{"type":60,"value":623}," for architecture-specific export options.",{"type":54,"tag":625,"props":626,"children":627},"hr",{},[],{"type":54,"tag":93,"props":629,"children":631},{"id":630},"phase-2-build-rmir-with-riva-build",[632,634],{"type":60,"value":633},"Phase 2 — Build RMIR with ",{"type":54,"tag":121,"props":635,"children":637},{"className":636},[],[638],{"type":60,"value":44},{"type":54,"tag":67,"props":640,"children":641},{},[642,643,648],{"type":60,"value":250},{"type":54,"tag":121,"props":644,"children":646},{"className":645},[],[647],{"type":60,"value":44},{"type":60,"value":649}," inside the NIM container. This creates the RMIR (Riva Model Intermediate Representation) file.",{"type":54,"tag":310,"props":651,"children":653},{"className":312,"code":652,"language":314,"meta":315,"style":315},"# Set the container image matching the model type you're deploying\nexport CONTAINER_ID=parakeet-1-1b-ctc-en-us   # use the base NIM that matches your model arch\nexport NIM_EXPORT_PATH=~\u002Fnim_export\nexport ARTIFACT_DIR=\u002Fpath\u002Fto\u002Fartifacts         # directory containing your .riva file\n\nmkdir -p $NIM_EXPORT_PATH && chmod 700 $NIM_EXPORT_PATH\n\n# Launch interactive shell inside the NIM container\ndocker run --gpus all -it --rm \\\n  -v $ARTIFACT_DIR:\u002Friva_build_deploy \\\n  -v $NIM_EXPORT_PATH:\u002Fmodel_tar \\\n  --entrypoint=\"\u002Fbin\u002Fbash\" \\\n  --name riva-build-deploy \\\n  nvcr.io\u002Fnim\u002Fnvidia\u002F$CONTAINER_ID:latest\n",[654],{"type":54,"tag":121,"props":655,"children":656},{"__ignoreMap":315},[657,665,694,716,742,749,788,795,804,842,865,887,914,932],{"type":54,"tag":321,"props":658,"children":659},{"class":323,"line":27},[660],{"type":54,"tag":321,"props":661,"children":662},{"style":544},[663],{"type":60,"value":664},"# Set the container image matching the model type you're deploying\n",{"type":54,"tag":321,"props":666,"children":667},{"class":323,"line":355},[668,674,679,684,689],{"type":54,"tag":321,"props":669,"children":671},{"style":670},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[672],{"type":60,"value":673},"export",{"type":54,"tag":321,"props":675,"children":676},{"style":349},[677],{"type":60,"value":678}," CONTAINER_ID",{"type":54,"tag":321,"props":680,"children":681},{"style":364},[682],{"type":60,"value":683},"=",{"type":54,"tag":321,"props":685,"children":686},{"style":349},[687],{"type":60,"value":688},"parakeet-1-1b-ctc-en-us   ",{"type":54,"tag":321,"props":690,"children":691},{"style":544},[692],{"type":60,"value":693},"# use the base NIM that matches your model arch\n",{"type":54,"tag":321,"props":695,"children":696},{"class":323,"line":412},[697,701,706,711],{"type":54,"tag":321,"props":698,"children":699},{"style":670},[700],{"type":60,"value":673},{"type":54,"tag":321,"props":702,"children":703},{"style":349},[704],{"type":60,"value":705}," NIM_EXPORT_PATH",{"type":54,"tag":321,"props":707,"children":708},{"style":364},[709],{"type":60,"value":710},"=~",{"type":54,"tag":321,"props":712,"children":713},{"style":349},[714],{"type":60,"value":715},"\u002Fnim_export\n",{"type":54,"tag":321,"props":717,"children":718},{"class":323,"line":540},[719,723,728,732,737],{"type":54,"tag":321,"props":720,"children":721},{"style":670},[722],{"type":60,"value":673},{"type":54,"tag":321,"props":724,"children":725},{"style":349},[726],{"type":60,"value":727}," ARTIFACT_DIR",{"type":54,"tag":321,"props":729,"children":730},{"style":364},[731],{"type":60,"value":683},{"type":54,"tag":321,"props":733,"children":734},{"style":349},[735],{"type":60,"value":736},"\u002Fpath\u002Fto\u002Fartifacts         ",{"type":54,"tag":321,"props":738,"children":739},{"style":544},[740],{"type":60,"value":741},"# directory containing your .riva file\n",{"type":54,"tag":321,"props":743,"children":744},{"class":323,"line":550},[745],{"type":54,"tag":321,"props":746,"children":747},{"emptyLinePlaceholder":534},[748],{"type":60,"value":537},{"type":54,"tag":321,"props":750,"children":751},{"class":323,"line":23},[752,757,762,767,772,777,783],{"type":54,"tag":321,"props":753,"children":754},{"style":327},[755],{"type":60,"value":756},"mkdir",{"type":54,"tag":321,"props":758,"children":759},{"style":333},[760],{"type":60,"value":761}," -p",{"type":54,"tag":321,"props":763,"children":764},{"style":349},[765],{"type":60,"value":766}," $NIM_EXPORT_PATH ",{"type":54,"tag":321,"props":768,"children":769},{"style":364},[770],{"type":60,"value":771},"&&",{"type":54,"tag":321,"props":773,"children":774},{"style":327},[775],{"type":60,"value":776}," chmod",{"type":54,"tag":321,"props":778,"children":780},{"style":779},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[781],{"type":60,"value":782}," 700",{"type":54,"tag":321,"props":784,"children":785},{"style":349},[786],{"type":60,"value":787}," $NIM_EXPORT_PATH\n",{"type":54,"tag":321,"props":789,"children":790},{"class":323,"line":601},[791],{"type":54,"tag":321,"props":792,"children":793},{"emptyLinePlaceholder":534},[794],{"type":60,"value":537},{"type":54,"tag":321,"props":796,"children":798},{"class":323,"line":797},8,[799],{"type":54,"tag":321,"props":800,"children":801},{"style":544},[802],{"type":60,"value":803},"# Launch interactive shell inside the NIM container\n",{"type":54,"tag":321,"props":805,"children":807},{"class":323,"line":806},9,[808,813,818,823,828,833,838],{"type":54,"tag":321,"props":809,"children":810},{"style":327},[811],{"type":60,"value":812},"docker",{"type":54,"tag":321,"props":814,"children":815},{"style":333},[816],{"type":60,"value":817}," run",{"type":54,"tag":321,"props":819,"children":820},{"style":333},[821],{"type":60,"value":822}," --gpus",{"type":54,"tag":321,"props":824,"children":825},{"style":333},[826],{"type":60,"value":827}," all",{"type":54,"tag":321,"props":829,"children":830},{"style":333},[831],{"type":60,"value":832}," -it",{"type":54,"tag":321,"props":834,"children":835},{"style":333},[836],{"type":60,"value":837}," --rm",{"type":54,"tag":321,"props":839,"children":840},{"style":349},[841],{"type":60,"value":352},{"type":54,"tag":321,"props":843,"children":845},{"class":323,"line":844},10,[846,851,856,861],{"type":54,"tag":321,"props":847,"children":848},{"style":333},[849],{"type":60,"value":850},"  -v",{"type":54,"tag":321,"props":852,"children":853},{"style":349},[854],{"type":60,"value":855}," $ARTIFACT_DIR",{"type":54,"tag":321,"props":857,"children":858},{"style":333},[859],{"type":60,"value":860},":\u002Friva_build_deploy",{"type":54,"tag":321,"props":862,"children":863},{"style":349},[864],{"type":60,"value":352},{"type":54,"tag":321,"props":866,"children":868},{"class":323,"line":867},11,[869,873,878,883],{"type":54,"tag":321,"props":870,"children":871},{"style":333},[872],{"type":60,"value":850},{"type":54,"tag":321,"props":874,"children":875},{"style":349},[876],{"type":60,"value":877}," $NIM_EXPORT_PATH",{"type":54,"tag":321,"props":879,"children":880},{"style":333},[881],{"type":60,"value":882},":\u002Fmodel_tar",{"type":54,"tag":321,"props":884,"children":885},{"style":349},[886],{"type":60,"value":352},{"type":54,"tag":321,"props":888,"children":890},{"class":323,"line":889},12,[891,896,901,906,910],{"type":54,"tag":321,"props":892,"children":893},{"style":333},[894],{"type":60,"value":895},"  --entrypoint=",{"type":54,"tag":321,"props":897,"children":898},{"style":364},[899],{"type":60,"value":900},"\"",{"type":54,"tag":321,"props":902,"children":903},{"style":333},[904],{"type":60,"value":905},"\u002Fbin\u002Fbash",{"type":54,"tag":321,"props":907,"children":908},{"style":364},[909],{"type":60,"value":900},{"type":54,"tag":321,"props":911,"children":912},{"style":349},[913],{"type":60,"value":352},{"type":54,"tag":321,"props":915,"children":917},{"class":323,"line":916},13,[918,923,928],{"type":54,"tag":321,"props":919,"children":920},{"style":333},[921],{"type":60,"value":922},"  --name",{"type":54,"tag":321,"props":924,"children":925},{"style":333},[926],{"type":60,"value":927}," riva-build-deploy",{"type":54,"tag":321,"props":929,"children":930},{"style":349},[931],{"type":60,"value":352},{"type":54,"tag":321,"props":933,"children":935},{"class":323,"line":934},14,[936,941,946],{"type":54,"tag":321,"props":937,"children":938},{"style":333},[939],{"type":60,"value":940},"  nvcr.io\u002Fnim\u002Fnvidia\u002F",{"type":54,"tag":321,"props":942,"children":943},{"style":349},[944],{"type":60,"value":945},"$CONTAINER_ID",{"type":54,"tag":321,"props":947,"children":948},{"style":333},[949],{"type":60,"value":950},":latest\n",{"type":54,"tag":67,"props":952,"children":953},{},[954,956,961],{"type":60,"value":955},"Inside the container, run ",{"type":54,"tag":121,"props":957,"children":959},{"className":958},[],[960],{"type":60,"value":44},{"type":60,"value":481},{"type":54,"tag":310,"props":963,"children":965},{"className":312,"code":964,"language":314,"meta":315,"style":315},"# Basic speech recognition pipeline\nriva-build speech_recognition \\\n  \u002Friva_build_deploy\u002Fcustom_model.rmir \\\n  \u002Friva_build_deploy\u002Fmodel.riva\n\n# With encryption key\nriva-build speech_recognition \\\n  \u002Friva_build_deploy\u002Fcustom_model.rmir:\u003Cencryption_key> \\\n  \u002Friva_build_deploy\u002Fmodel.riva:\u003Cencryption_key>\n\n# Force overwrite if .rmir already exists\nriva-build speech_recognition -f \\\n  \u002Friva_build_deploy\u002Fcustom_model.rmir \\\n  \u002Friva_build_deploy\u002Fmodel.riva\n",[966],{"type":54,"tag":121,"props":967,"children":968},{"__ignoreMap":315},[969,977,993,1005,1013,1020,1028,1043,1071,1096,1103,1111,1131,1142],{"type":54,"tag":321,"props":970,"children":971},{"class":323,"line":27},[972],{"type":54,"tag":321,"props":973,"children":974},{"style":544},[975],{"type":60,"value":976},"# Basic speech recognition pipeline\n",{"type":54,"tag":321,"props":978,"children":979},{"class":323,"line":355},[980,984,989],{"type":54,"tag":321,"props":981,"children":982},{"style":327},[983],{"type":60,"value":44},{"type":54,"tag":321,"props":985,"children":986},{"style":333},[987],{"type":60,"value":988}," speech_recognition",{"type":54,"tag":321,"props":990,"children":991},{"style":349},[992],{"type":60,"value":352},{"type":54,"tag":321,"props":994,"children":995},{"class":323,"line":412},[996,1001],{"type":54,"tag":321,"props":997,"children":998},{"style":333},[999],{"type":60,"value":1000},"  \u002Friva_build_deploy\u002Fcustom_model.rmir",{"type":54,"tag":321,"props":1002,"children":1003},{"style":349},[1004],{"type":60,"value":352},{"type":54,"tag":321,"props":1006,"children":1007},{"class":323,"line":540},[1008],{"type":54,"tag":321,"props":1009,"children":1010},{"style":333},[1011],{"type":60,"value":1012},"  \u002Friva_build_deploy\u002Fmodel.riva\n",{"type":54,"tag":321,"props":1014,"children":1015},{"class":323,"line":550},[1016],{"type":54,"tag":321,"props":1017,"children":1018},{"emptyLinePlaceholder":534},[1019],{"type":60,"value":537},{"type":54,"tag":321,"props":1021,"children":1022},{"class":323,"line":23},[1023],{"type":54,"tag":321,"props":1024,"children":1025},{"style":544},[1026],{"type":60,"value":1027},"# With encryption key\n",{"type":54,"tag":321,"props":1029,"children":1030},{"class":323,"line":601},[1031,1035,1039],{"type":54,"tag":321,"props":1032,"children":1033},{"style":327},[1034],{"type":60,"value":44},{"type":54,"tag":321,"props":1036,"children":1037},{"style":333},[1038],{"type":60,"value":988},{"type":54,"tag":321,"props":1040,"children":1041},{"style":349},[1042],{"type":60,"value":352},{"type":54,"tag":321,"props":1044,"children":1045},{"class":323,"line":797},[1046,1051,1055,1059,1063,1067],{"type":54,"tag":321,"props":1047,"children":1048},{"style":333},[1049],{"type":60,"value":1050},"  \u002Friva_build_deploy\u002Fcustom_model.rmir:",{"type":54,"tag":321,"props":1052,"children":1053},{"style":364},[1054],{"type":60,"value":367},{"type":54,"tag":321,"props":1056,"children":1057},{"style":333},[1058],{"type":60,"value":585},{"type":54,"tag":321,"props":1060,"children":1061},{"style":349},[1062],{"type":60,"value":590},{"type":54,"tag":321,"props":1064,"children":1065},{"style":364},[1066],{"type":60,"value":382},{"type":54,"tag":321,"props":1068,"children":1069},{"style":349},[1070],{"type":60,"value":352},{"type":54,"tag":321,"props":1072,"children":1073},{"class":323,"line":806},[1074,1079,1083,1087,1091],{"type":54,"tag":321,"props":1075,"children":1076},{"style":333},[1077],{"type":60,"value":1078},"  \u002Friva_build_deploy\u002Fmodel.riva:",{"type":54,"tag":321,"props":1080,"children":1081},{"style":364},[1082],{"type":60,"value":367},{"type":54,"tag":321,"props":1084,"children":1085},{"style":333},[1086],{"type":60,"value":585},{"type":54,"tag":321,"props":1088,"children":1089},{"style":349},[1090],{"type":60,"value":590},{"type":54,"tag":321,"props":1092,"children":1093},{"style":364},[1094],{"type":60,"value":1095},">\n",{"type":54,"tag":321,"props":1097,"children":1098},{"class":323,"line":844},[1099],{"type":54,"tag":321,"props":1100,"children":1101},{"emptyLinePlaceholder":534},[1102],{"type":60,"value":537},{"type":54,"tag":321,"props":1104,"children":1105},{"class":323,"line":867},[1106],{"type":54,"tag":321,"props":1107,"children":1108},{"style":544},[1109],{"type":60,"value":1110},"# Force overwrite if .rmir already exists\n",{"type":54,"tag":321,"props":1112,"children":1113},{"class":323,"line":889},[1114,1118,1122,1127],{"type":54,"tag":321,"props":1115,"children":1116},{"style":327},[1117],{"type":60,"value":44},{"type":54,"tag":321,"props":1119,"children":1120},{"style":333},[1121],{"type":60,"value":988},{"type":54,"tag":321,"props":1123,"children":1124},{"style":333},[1125],{"type":60,"value":1126}," -f",{"type":54,"tag":321,"props":1128,"children":1129},{"style":349},[1130],{"type":60,"value":352},{"type":54,"tag":321,"props":1132,"children":1133},{"class":323,"line":916},[1134,1138],{"type":54,"tag":321,"props":1135,"children":1136},{"style":333},[1137],{"type":60,"value":1000},{"type":54,"tag":321,"props":1139,"children":1140},{"style":349},[1141],{"type":60,"value":352},{"type":54,"tag":321,"props":1143,"children":1144},{"class":323,"line":934},[1145],{"type":54,"tag":321,"props":1146,"children":1147},{"style":333},[1148],{"type":60,"value":1012},{"type":54,"tag":67,"props":1150,"children":1151},{},[1152,1154,1160],{"type":60,"value":1153},"Available ",{"type":54,"tag":121,"props":1155,"children":1157},{"className":1156},[],[1158],{"type":60,"value":1159},"\u003Cpipeline>",{"type":60,"value":1161}," values:",{"type":54,"tag":111,"props":1163,"children":1164},{},[1165,1176],{"type":54,"tag":115,"props":1166,"children":1167},{},[1168,1174],{"type":54,"tag":121,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":60,"value":1173},"speech_recognition",{"type":60,"value":1175}," — ASR transcription pipeline",{"type":54,"tag":115,"props":1177,"children":1178},{},[1179,1185],{"type":54,"tag":121,"props":1180,"children":1182},{"className":1181},[],[1183],{"type":60,"value":1184},"punctuation",{"type":60,"value":1186}," — punctuation restoration",{"type":54,"tag":67,"props":1188,"children":1189},{},[1190,1192,1197],{"type":60,"value":1191},"For pipeline configuration options (streaming, offline, VAD, language model, etc.), see ",{"type":54,"tag":121,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":60,"value":469},{"type":60,"value":235},{"type":54,"tag":625,"props":1199,"children":1200},{},[],{"type":54,"tag":93,"props":1202,"children":1204},{"id":1203},"phase-3-deploy-model-repository-with-riva-deploy",[1205,1207],{"type":60,"value":1206},"Phase 3 — Deploy Model Repository with ",{"type":54,"tag":121,"props":1208,"children":1210},{"className":1209},[],[1211],{"type":60,"value":45},{"type":54,"tag":67,"props":1213,"children":1214},{},[1215,1217,1222],{"type":60,"value":1216},"Still inside the container (or re-enter it), run ",{"type":54,"tag":121,"props":1218,"children":1220},{"className":1219},[],[1221],{"type":60,"value":45},{"type":60,"value":1223}," to build the Triton model repository:",{"type":54,"tag":310,"props":1225,"children":1227},{"className":312,"code":1226,"language":314,"meta":315,"style":315},"riva-deploy \u002Friva_build_deploy\u002Fcustom_model.rmir \u002Fdata\u002Fmodels\n\n# Force overwrite\nriva-deploy -f \u002Friva_build_deploy\u002Fcustom_model.rmir \u002Fdata\u002Fmodels\n",[1228],{"type":54,"tag":121,"props":1229,"children":1230},{"__ignoreMap":315},[1231,1248,1255,1263],{"type":54,"tag":321,"props":1232,"children":1233},{"class":323,"line":27},[1234,1238,1243],{"type":54,"tag":321,"props":1235,"children":1236},{"style":327},[1237],{"type":60,"value":45},{"type":54,"tag":321,"props":1239,"children":1240},{"style":333},[1241],{"type":60,"value":1242}," \u002Friva_build_deploy\u002Fcustom_model.rmir",{"type":54,"tag":321,"props":1244,"children":1245},{"style":333},[1246],{"type":60,"value":1247}," \u002Fdata\u002Fmodels\n",{"type":54,"tag":321,"props":1249,"children":1250},{"class":323,"line":355},[1251],{"type":54,"tag":321,"props":1252,"children":1253},{"emptyLinePlaceholder":534},[1254],{"type":60,"value":537},{"type":54,"tag":321,"props":1256,"children":1257},{"class":323,"line":412},[1258],{"type":54,"tag":321,"props":1259,"children":1260},{"style":544},[1261],{"type":60,"value":1262},"# Force overwrite\n",{"type":54,"tag":321,"props":1264,"children":1265},{"class":323,"line":540},[1266,1270,1274,1278],{"type":54,"tag":321,"props":1267,"children":1268},{"style":327},[1269],{"type":60,"value":45},{"type":54,"tag":321,"props":1271,"children":1272},{"style":333},[1273],{"type":60,"value":1126},{"type":54,"tag":321,"props":1275,"children":1276},{"style":333},[1277],{"type":60,"value":1242},{"type":54,"tag":321,"props":1279,"children":1280},{"style":333},[1281],{"type":60,"value":1247},{"type":54,"tag":67,"props":1283,"children":1284},{},[1285,1290,1292,1298],{"type":54,"tag":71,"props":1286,"children":1287},{},[1288],{"type":60,"value":1289},"Important:",{"type":60,"value":1291}," Always deploy to ",{"type":54,"tag":121,"props":1293,"children":1295},{"className":1294},[],[1296],{"type":60,"value":1297},"\u002Fdata\u002Fmodels",{"type":60,"value":1299}," inside the container. Deploying elsewhere requires manual path fixes in Triton config files.",{"type":54,"tag":67,"props":1301,"children":1302},{},[1303],{"type":60,"value":1304},"After deploy completes, create the tar archive:",{"type":54,"tag":310,"props":1306,"children":1308},{"className":312,"code":1307,"language":314,"meta":315,"style":315},"cd \u002Fdata\u002Fmodels\ntar -czf \u002Fmodel_tar\u002Fcustom_model.tar.gz *\n",[1309],{"type":54,"tag":121,"props":1310,"children":1311},{"__ignoreMap":315},[1312,1325],{"type":54,"tag":321,"props":1313,"children":1314},{"class":323,"line":27},[1315,1321],{"type":54,"tag":321,"props":1316,"children":1318},{"style":1317},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1319],{"type":60,"value":1320},"cd",{"type":54,"tag":321,"props":1322,"children":1323},{"style":333},[1324],{"type":60,"value":1247},{"type":54,"tag":321,"props":1326,"children":1327},{"class":323,"line":355},[1328,1333,1338,1343],{"type":54,"tag":321,"props":1329,"children":1330},{"style":327},[1331],{"type":60,"value":1332},"tar",{"type":54,"tag":321,"props":1334,"children":1335},{"style":333},[1336],{"type":60,"value":1337}," -czf",{"type":54,"tag":321,"props":1339,"children":1340},{"style":333},[1341],{"type":60,"value":1342}," \u002Fmodel_tar\u002Fcustom_model.tar.gz",{"type":54,"tag":321,"props":1344,"children":1345},{"style":349},[1346],{"type":60,"value":1347}," *\n",{"type":54,"tag":67,"props":1349,"children":1350},{},[1351],{"type":60,"value":1352},"Exit and remove the container:",{"type":54,"tag":310,"props":1354,"children":1356},{"className":312,"code":1355,"language":314,"meta":315,"style":315},"exit\ndocker stop riva-build-deploy 2>\u002Fdev\u002Fnull; docker rm riva-build-deploy 2>\u002Fdev\u002Fnull\n",[1357],{"type":54,"tag":121,"props":1358,"children":1359},{"__ignoreMap":315},[1360,1368],{"type":54,"tag":321,"props":1361,"children":1362},{"class":323,"line":27},[1363],{"type":54,"tag":321,"props":1364,"children":1365},{"style":1317},[1366],{"type":60,"value":1367},"exit\n",{"type":54,"tag":321,"props":1369,"children":1370},{"class":323,"line":355},[1371,1375,1380,1384,1389,1394,1399,1404,1409,1413,1417],{"type":54,"tag":321,"props":1372,"children":1373},{"style":327},[1374],{"type":60,"value":812},{"type":54,"tag":321,"props":1376,"children":1377},{"style":333},[1378],{"type":60,"value":1379}," stop",{"type":54,"tag":321,"props":1381,"children":1382},{"style":333},[1383],{"type":60,"value":927},{"type":54,"tag":321,"props":1385,"children":1386},{"style":364},[1387],{"type":60,"value":1388}," 2>",{"type":54,"tag":321,"props":1390,"children":1391},{"style":333},[1392],{"type":60,"value":1393},"\u002Fdev\u002Fnull",{"type":54,"tag":321,"props":1395,"children":1396},{"style":364},[1397],{"type":60,"value":1398},";",{"type":54,"tag":321,"props":1400,"children":1401},{"style":327},[1402],{"type":60,"value":1403}," docker",{"type":54,"tag":321,"props":1405,"children":1406},{"style":333},[1407],{"type":60,"value":1408}," rm",{"type":54,"tag":321,"props":1410,"children":1411},{"style":333},[1412],{"type":60,"value":927},{"type":54,"tag":321,"props":1414,"children":1415},{"style":364},[1416],{"type":60,"value":1388},{"type":54,"tag":321,"props":1418,"children":1419},{"style":333},[1420],{"type":60,"value":1421},"\u002Fdev\u002Fnull\n",{"type":54,"tag":67,"props":1423,"children":1424},{},[1425,1427,1433,1435,1441],{"type":60,"value":1426},"Your ",{"type":54,"tag":121,"props":1428,"children":1430},{"className":1429},[],[1431],{"type":60,"value":1432},"custom_model.tar.gz",{"type":60,"value":1434}," is now in ",{"type":54,"tag":121,"props":1436,"children":1438},{"className":1437},[],[1439],{"type":60,"value":1440},"$NIM_EXPORT_PATH",{"type":60,"value":1442}," on the host.",{"type":54,"tag":625,"props":1444,"children":1445},{},[],{"type":54,"tag":93,"props":1447,"children":1449},{"id":1448},"phase-4-launch-the-custom-nim",[1450],{"type":60,"value":1451},"Phase 4 — Launch the Custom NIM",{"type":54,"tag":310,"props":1453,"children":1455},{"className":312,"code":1454,"language":314,"meta":315,"style":315},"docker run -it --rm --name=$CONTAINER_ID \\\n  --runtime=nvidia \\\n  --gpus '\"device=0\"' \\\n  --shm-size=8GB \\\n  -e NGC_API_KEY \\\n  -e NIM_TAGS_SELECTOR \\\n  -e NIM_DISABLE_MODEL_DOWNLOAD=true \\\n  -e NIM_HTTP_API_PORT=9000 \\\n  -e NIM_GRPC_API_PORT=50051 \\\n  -p 9000:9000 \\\n  -p 50051:50051 \\\n  -v $NIM_EXPORT_PATH:\u002Fopt\u002Fnim\u002Fexport \\\n  -e NIM_EXPORT_PATH=\u002Fopt\u002Fnim\u002Fexport \\\n  nvcr.io\u002Fnim\u002Fnvidia\u002F$CONTAINER_ID:latest\n",[1456],{"type":54,"tag":121,"props":1457,"children":1458},{"__ignoreMap":315},[1459,1491,1503,1530,1542,1559,1575,1596,1617,1638,1655,1671,1691,1707],{"type":54,"tag":321,"props":1460,"children":1461},{"class":323,"line":27},[1462,1466,1470,1474,1478,1483,1487],{"type":54,"tag":321,"props":1463,"children":1464},{"style":327},[1465],{"type":60,"value":812},{"type":54,"tag":321,"props":1467,"children":1468},{"style":333},[1469],{"type":60,"value":817},{"type":54,"tag":321,"props":1471,"children":1472},{"style":333},[1473],{"type":60,"value":832},{"type":54,"tag":321,"props":1475,"children":1476},{"style":333},[1477],{"type":60,"value":837},{"type":54,"tag":321,"props":1479,"children":1480},{"style":333},[1481],{"type":60,"value":1482}," --name=",{"type":54,"tag":321,"props":1484,"children":1485},{"style":349},[1486],{"type":60,"value":945},{"type":54,"tag":321,"props":1488,"children":1489},{"style":349},[1490],{"type":60,"value":352},{"type":54,"tag":321,"props":1492,"children":1493},{"class":323,"line":355},[1494,1499],{"type":54,"tag":321,"props":1495,"children":1496},{"style":333},[1497],{"type":60,"value":1498},"  --runtime=nvidia",{"type":54,"tag":321,"props":1500,"children":1501},{"style":349},[1502],{"type":60,"value":352},{"type":54,"tag":321,"props":1504,"children":1505},{"class":323,"line":412},[1506,1511,1516,1521,1526],{"type":54,"tag":321,"props":1507,"children":1508},{"style":333},[1509],{"type":60,"value":1510},"  --gpus",{"type":54,"tag":321,"props":1512,"children":1513},{"style":364},[1514],{"type":60,"value":1515}," '",{"type":54,"tag":321,"props":1517,"children":1518},{"style":333},[1519],{"type":60,"value":1520},"\"device=0\"",{"type":54,"tag":321,"props":1522,"children":1523},{"style":364},[1524],{"type":60,"value":1525},"'",{"type":54,"tag":321,"props":1527,"children":1528},{"style":349},[1529],{"type":60,"value":352},{"type":54,"tag":321,"props":1531,"children":1532},{"class":323,"line":540},[1533,1538],{"type":54,"tag":321,"props":1534,"children":1535},{"style":333},[1536],{"type":60,"value":1537},"  --shm-size=8GB",{"type":54,"tag":321,"props":1539,"children":1540},{"style":349},[1541],{"type":60,"value":352},{"type":54,"tag":321,"props":1543,"children":1544},{"class":323,"line":550},[1545,1550,1555],{"type":54,"tag":321,"props":1546,"children":1547},{"style":333},[1548],{"type":60,"value":1549},"  -e",{"type":54,"tag":321,"props":1551,"children":1552},{"style":333},[1553],{"type":60,"value":1554}," NGC_API_KEY",{"type":54,"tag":321,"props":1556,"children":1557},{"style":349},[1558],{"type":60,"value":352},{"type":54,"tag":321,"props":1560,"children":1561},{"class":323,"line":23},[1562,1566,1571],{"type":54,"tag":321,"props":1563,"children":1564},{"style":333},[1565],{"type":60,"value":1549},{"type":54,"tag":321,"props":1567,"children":1568},{"style":333},[1569],{"type":60,"value":1570}," NIM_TAGS_SELECTOR",{"type":54,"tag":321,"props":1572,"children":1573},{"style":349},[1574],{"type":60,"value":352},{"type":54,"tag":321,"props":1576,"children":1577},{"class":323,"line":601},[1578,1582,1587,1592],{"type":54,"tag":321,"props":1579,"children":1580},{"style":333},[1581],{"type":60,"value":1549},{"type":54,"tag":321,"props":1583,"children":1584},{"style":333},[1585],{"type":60,"value":1586}," NIM_DISABLE_MODEL_DOWNLOAD=",{"type":54,"tag":321,"props":1588,"children":1589},{"style":364},[1590],{"type":60,"value":1591},"true",{"type":54,"tag":321,"props":1593,"children":1594},{"style":349},[1595],{"type":60,"value":352},{"type":54,"tag":321,"props":1597,"children":1598},{"class":323,"line":797},[1599,1603,1608,1613],{"type":54,"tag":321,"props":1600,"children":1601},{"style":333},[1602],{"type":60,"value":1549},{"type":54,"tag":321,"props":1604,"children":1605},{"style":333},[1606],{"type":60,"value":1607}," NIM_HTTP_API_PORT=",{"type":54,"tag":321,"props":1609,"children":1610},{"style":779},[1611],{"type":60,"value":1612},"9000",{"type":54,"tag":321,"props":1614,"children":1615},{"style":349},[1616],{"type":60,"value":352},{"type":54,"tag":321,"props":1618,"children":1619},{"class":323,"line":806},[1620,1624,1629,1634],{"type":54,"tag":321,"props":1621,"children":1622},{"style":333},[1623],{"type":60,"value":1549},{"type":54,"tag":321,"props":1625,"children":1626},{"style":333},[1627],{"type":60,"value":1628}," NIM_GRPC_API_PORT=",{"type":54,"tag":321,"props":1630,"children":1631},{"style":779},[1632],{"type":60,"value":1633},"50051",{"type":54,"tag":321,"props":1635,"children":1636},{"style":349},[1637],{"type":60,"value":352},{"type":54,"tag":321,"props":1639,"children":1640},{"class":323,"line":844},[1641,1646,1651],{"type":54,"tag":321,"props":1642,"children":1643},{"style":333},[1644],{"type":60,"value":1645},"  -p",{"type":54,"tag":321,"props":1647,"children":1648},{"style":333},[1649],{"type":60,"value":1650}," 9000:9000",{"type":54,"tag":321,"props":1652,"children":1653},{"style":349},[1654],{"type":60,"value":352},{"type":54,"tag":321,"props":1656,"children":1657},{"class":323,"line":867},[1658,1662,1667],{"type":54,"tag":321,"props":1659,"children":1660},{"style":333},[1661],{"type":60,"value":1645},{"type":54,"tag":321,"props":1663,"children":1664},{"style":333},[1665],{"type":60,"value":1666}," 50051:50051",{"type":54,"tag":321,"props":1668,"children":1669},{"style":349},[1670],{"type":60,"value":352},{"type":54,"tag":321,"props":1672,"children":1673},{"class":323,"line":889},[1674,1678,1682,1687],{"type":54,"tag":321,"props":1675,"children":1676},{"style":333},[1677],{"type":60,"value":850},{"type":54,"tag":321,"props":1679,"children":1680},{"style":349},[1681],{"type":60,"value":877},{"type":54,"tag":321,"props":1683,"children":1684},{"style":333},[1685],{"type":60,"value":1686},":\u002Fopt\u002Fnim\u002Fexport",{"type":54,"tag":321,"props":1688,"children":1689},{"style":349},[1690],{"type":60,"value":352},{"type":54,"tag":321,"props":1692,"children":1693},{"class":323,"line":916},[1694,1698,1703],{"type":54,"tag":321,"props":1695,"children":1696},{"style":333},[1697],{"type":60,"value":1549},{"type":54,"tag":321,"props":1699,"children":1700},{"style":333},[1701],{"type":60,"value":1702}," NIM_EXPORT_PATH=\u002Fopt\u002Fnim\u002Fexport",{"type":54,"tag":321,"props":1704,"children":1705},{"style":349},[1706],{"type":60,"value":352},{"type":54,"tag":321,"props":1708,"children":1709},{"class":323,"line":934},[1710,1714,1718],{"type":54,"tag":321,"props":1711,"children":1712},{"style":333},[1713],{"type":60,"value":940},{"type":54,"tag":321,"props":1715,"children":1716},{"style":349},[1717],{"type":60,"value":945},{"type":54,"tag":321,"props":1719,"children":1720},{"style":333},[1721],{"type":60,"value":950},{"type":54,"tag":63,"props":1723,"children":1724},{},[1725],{"type":54,"tag":67,"props":1726,"children":1727},{},[1728,1733,1735,1741,1743,1749],{"type":54,"tag":71,"props":1729,"children":1730},{},[1731],{"type":60,"value":1732},"Security note:",{"type":60,"value":1734}," Environment variables passed via ",{"type":54,"tag":121,"props":1736,"children":1738},{"className":1737},[],[1739],{"type":60,"value":1740},"-e",{"type":60,"value":1742}," to Docker are visible\nin ",{"type":54,"tag":121,"props":1744,"children":1746},{"className":1745},[],[1747],{"type":60,"value":1748},"docker inspect",{"type":60,"value":1750}," output and process listings. For production, use Docker\nsecrets or a secrets manager instead of passing credentials as env vars.",{"type":54,"tag":67,"props":1752,"children":1753},{},[1754,1760,1762,1768],{"type":54,"tag":121,"props":1755,"children":1757},{"className":1756},[],[1758],{"type":60,"value":1759},"NIM_DISABLE_MODEL_DOWNLOAD=true",{"type":60,"value":1761}," prevents the container from downloading pre-trained models from NGC and uses the custom repository from ",{"type":54,"tag":121,"props":1763,"children":1765},{"className":1764},[],[1766],{"type":60,"value":1767},"NIM_EXPORT_PATH",{"type":60,"value":1769}," instead.",{"type":54,"tag":93,"props":1771,"children":1773},{"id":1772},"verify-readiness",[1774],{"type":60,"value":1775},"Verify Readiness",{"type":54,"tag":310,"props":1777,"children":1779},{"className":312,"code":1778,"language":314,"meta":315,"style":315},"curl -X GET http:\u002F\u002Flocalhost:9000\u002Fv1\u002Fhealth\u002Fready\n# Expected: {\"status\":\"ready\"}\n",[1780],{"type":54,"tag":121,"props":1781,"children":1782},{"__ignoreMap":315},[1783,1806],{"type":54,"tag":321,"props":1784,"children":1785},{"class":323,"line":27},[1786,1791,1796,1801],{"type":54,"tag":321,"props":1787,"children":1788},{"style":327},[1789],{"type":60,"value":1790},"curl",{"type":54,"tag":321,"props":1792,"children":1793},{"style":333},[1794],{"type":60,"value":1795}," -X",{"type":54,"tag":321,"props":1797,"children":1798},{"style":333},[1799],{"type":60,"value":1800}," GET",{"type":54,"tag":321,"props":1802,"children":1803},{"style":333},[1804],{"type":60,"value":1805}," http:\u002F\u002Flocalhost:9000\u002Fv1\u002Fhealth\u002Fready\n",{"type":54,"tag":321,"props":1807,"children":1808},{"class":323,"line":355},[1809],{"type":54,"tag":321,"props":1810,"children":1811},{"style":544},[1812],{"type":60,"value":1813},"# Expected: {\"status\":\"ready\"}\n",{"type":54,"tag":93,"props":1815,"children":1817},{"id":1816},"run-inference-on-the-custom-model",[1818],{"type":60,"value":1819},"Run Inference on the Custom Model",{"type":54,"tag":310,"props":1821,"children":1823},{"className":312,"code":1822,"language":314,"meta":315,"style":315},"python3 python-clients\u002Fscripts\u002Fasr\u002Ftranscribe_file_offline.py \\\n  --server 0.0.0.0:50051 \\\n  --input-file \u002Fpath\u002Fto\u002Faudio.wav \\\n  --language-code en-US\n",[1824],{"type":54,"tag":121,"props":1825,"children":1826},{"__ignoreMap":315},[1827,1844,1861,1878],{"type":54,"tag":321,"props":1828,"children":1829},{"class":323,"line":27},[1830,1835,1840],{"type":54,"tag":321,"props":1831,"children":1832},{"style":327},[1833],{"type":60,"value":1834},"python3",{"type":54,"tag":321,"props":1836,"children":1837},{"style":333},[1838],{"type":60,"value":1839}," python-clients\u002Fscripts\u002Fasr\u002Ftranscribe_file_offline.py",{"type":54,"tag":321,"props":1841,"children":1842},{"style":349},[1843],{"type":60,"value":352},{"type":54,"tag":321,"props":1845,"children":1846},{"class":323,"line":355},[1847,1852,1857],{"type":54,"tag":321,"props":1848,"children":1849},{"style":333},[1850],{"type":60,"value":1851},"  --server",{"type":54,"tag":321,"props":1853,"children":1854},{"style":333},[1855],{"type":60,"value":1856}," 0.0.0.0:50051",{"type":54,"tag":321,"props":1858,"children":1859},{"style":349},[1860],{"type":60,"value":352},{"type":54,"tag":321,"props":1862,"children":1863},{"class":323,"line":412},[1864,1869,1874],{"type":54,"tag":321,"props":1865,"children":1866},{"style":333},[1867],{"type":60,"value":1868},"  --input-file",{"type":54,"tag":321,"props":1870,"children":1871},{"style":333},[1872],{"type":60,"value":1873}," \u002Fpath\u002Fto\u002Faudio.wav",{"type":54,"tag":321,"props":1875,"children":1876},{"style":349},[1877],{"type":60,"value":352},{"type":54,"tag":321,"props":1879,"children":1880},{"class":323,"line":540},[1881,1886],{"type":54,"tag":321,"props":1882,"children":1883},{"style":333},[1884],{"type":60,"value":1885},"  --language-code",{"type":54,"tag":321,"props":1887,"children":1888},{"style":333},[1889],{"type":60,"value":1890}," en-US\n",{"type":54,"tag":625,"props":1892,"children":1893},{},[],{"type":54,"tag":93,"props":1895,"children":1897},{"id":1896},"examples",[1898],{"type":60,"value":1899},"Examples",{"type":54,"tag":67,"props":1901,"children":1902},{},[1903],{"type":60,"value":1904},"These are variations on the canonical phase commands above; for the standard flow follow Phases 1–4 directly.",{"type":54,"tag":67,"props":1906,"children":1907},{},[1908],{"type":54,"tag":71,"props":1909,"children":1910},{},[1911,1913,1918],{"type":60,"value":1912},"Export an encrypted ",{"type":54,"tag":121,"props":1914,"children":1916},{"className":1915},[],[1917],{"type":60,"value":185},{"type":60,"value":1919}," from NeMo (Phase 1, Option B variant):",{"type":54,"tag":310,"props":1921,"children":1923},{"className":312,"code":1922,"language":314,"meta":315,"style":315},"nemo2riva --out \u002Fartifacts\u002Fmodel.riva --key my-secret \u002Fpath\u002Fto\u002Fmodel.nemo\n",[1924],{"type":54,"tag":121,"props":1925,"children":1926},{"__ignoreMap":315},[1927],{"type":54,"tag":321,"props":1928,"children":1929},{"class":323,"line":27},[1930,1934,1938,1943,1948,1953],{"type":54,"tag":321,"props":1931,"children":1932},{"style":327},[1933],{"type":60,"value":43},{"type":54,"tag":321,"props":1935,"children":1936},{"style":333},[1937],{"type":60,"value":518},{"type":54,"tag":321,"props":1939,"children":1940},{"style":333},[1941],{"type":60,"value":1942}," \u002Fartifacts\u002Fmodel.riva",{"type":54,"tag":321,"props":1944,"children":1945},{"style":333},[1946],{"type":60,"value":1947}," --key",{"type":54,"tag":321,"props":1949,"children":1950},{"style":333},[1951],{"type":60,"value":1952}," my-secret",{"type":54,"tag":321,"props":1954,"children":1955},{"style":333},[1956],{"type":60,"value":528},{"type":54,"tag":67,"props":1958,"children":1959},{},[1960],{"type":54,"tag":71,"props":1961,"children":1962},{},[1963],{"type":60,"value":1964},"Build a punctuation pipeline instead of speech recognition (Phase 2 variant):",{"type":54,"tag":310,"props":1966,"children":1968},{"className":312,"code":1967,"language":314,"meta":315,"style":315},"riva-build punctuation \\\n  \u002Friva_build_deploy\u002Fpunct_model.rmir \\\n  \u002Friva_build_deploy\u002Fpunct_model.riva\n",[1969],{"type":54,"tag":121,"props":1970,"children":1971},{"__ignoreMap":315},[1972,1988,2000],{"type":54,"tag":321,"props":1973,"children":1974},{"class":323,"line":27},[1975,1979,1984],{"type":54,"tag":321,"props":1976,"children":1977},{"style":327},[1978],{"type":60,"value":44},{"type":54,"tag":321,"props":1980,"children":1981},{"style":333},[1982],{"type":60,"value":1983}," punctuation",{"type":54,"tag":321,"props":1985,"children":1986},{"style":349},[1987],{"type":60,"value":352},{"type":54,"tag":321,"props":1989,"children":1990},{"class":323,"line":355},[1991,1996],{"type":54,"tag":321,"props":1992,"children":1993},{"style":333},[1994],{"type":60,"value":1995},"  \u002Friva_build_deploy\u002Fpunct_model.rmir",{"type":54,"tag":321,"props":1997,"children":1998},{"style":349},[1999],{"type":60,"value":352},{"type":54,"tag":321,"props":2001,"children":2002},{"class":323,"line":412},[2003],{"type":54,"tag":321,"props":2004,"children":2005},{"style":333},[2006],{"type":60,"value":2007},"  \u002Friva_build_deploy\u002Fpunct_model.riva\n",{"type":54,"tag":67,"props":2009,"children":2010},{},[2011],{"type":54,"tag":71,"props":2012,"children":2013},{},[2014,2016,2022],{"type":60,"value":2015},"Re-deploy after editing ",{"type":54,"tag":121,"props":2017,"children":2019},{"className":2018},[],[2020],{"type":60,"value":2021},".rmir",{"type":60,"value":2023}," (Phase 3 variant — force overwrite):",{"type":54,"tag":310,"props":2025,"children":2027},{"className":312,"code":2026,"language":314,"meta":315,"style":315},"riva-deploy -f \u002Friva_build_deploy\u002Fcustom_model.rmir \u002Fdata\u002Fmodels\n",[2028],{"type":54,"tag":121,"props":2029,"children":2030},{"__ignoreMap":315},[2031],{"type":54,"tag":321,"props":2032,"children":2033},{"class":323,"line":27},[2034,2038,2042,2046],{"type":54,"tag":321,"props":2035,"children":2036},{"style":327},[2037],{"type":60,"value":45},{"type":54,"tag":321,"props":2039,"children":2040},{"style":333},[2041],{"type":60,"value":1126},{"type":54,"tag":321,"props":2043,"children":2044},{"style":333},[2045],{"type":60,"value":1242},{"type":54,"tag":321,"props":2047,"children":2048},{"style":333},[2049],{"type":60,"value":1247},{"type":54,"tag":93,"props":2051,"children":2053},{"id":2052},"troubleshooting",[2054],{"type":60,"value":2055},"Troubleshooting",{"type":54,"tag":111,"props":2057,"children":2058},{},[2059,2077,2094,2109,2138,2174,2190],{"type":54,"tag":115,"props":2060,"children":2061},{},[2062,2067,2069,2075],{"type":54,"tag":71,"props":2063,"children":2064},{},[2065],{"type":60,"value":2066},"Match container to model architecture",{"type":60,"value":2068}," — use the NIM container image that matches your model family (e.g., ",{"type":54,"tag":121,"props":2070,"children":2072},{"className":2071},[],[2073],{"type":60,"value":2074},"parakeet-1-1b-ctc-en-us",{"type":60,"value":2076}," for CTC Parakeet-based models).",{"type":54,"tag":115,"props":2078,"children":2079},{},[2080,2092],{"type":54,"tag":71,"props":2081,"children":2082},{},[2083,2085,2090],{"type":60,"value":2084},"Deploy to ",{"type":54,"tag":121,"props":2086,"children":2088},{"className":2087},[],[2089],{"type":60,"value":1297},{"type":60,"value":2091}," only",{"type":60,"value":2093}," — other paths break Triton config references without manual edits.",{"type":54,"tag":115,"props":2095,"children":2096},{},[2097,2107],{"type":54,"tag":71,"props":2098,"children":2099},{},[2100,2105],{"type":54,"tag":121,"props":2101,"children":2103},{"className":2102},[],[2104],{"type":60,"value":1759},{"type":60,"value":2106}," is required",{"type":60,"value":2108}," — without it, the container ignores the custom model and downloads the default pre-trained model.",{"type":54,"tag":115,"props":2110,"children":2111},{},[2112,2117,2119,2124,2126,2131,2132,2137],{"type":54,"tag":71,"props":2113,"children":2114},{},[2115],{"type":60,"value":2116},"Encryption key consistency",{"type":60,"value":2118}," — if you used an encryption key in ",{"type":54,"tag":121,"props":2120,"children":2122},{"className":2121},[],[2123],{"type":60,"value":43},{"type":60,"value":2125},", use the same key in ",{"type":54,"tag":121,"props":2127,"children":2129},{"className":2128},[],[2130],{"type":60,"value":44},{"type":60,"value":257},{"type":54,"tag":121,"props":2133,"children":2135},{"className":2134},[],[2136],{"type":60,"value":45},{"type":60,"value":235},{"type":54,"tag":115,"props":2139,"children":2140},{},[2141,2152,2154,2159,2160,2165,2167,2172],{"type":54,"tag":71,"props":2142,"children":2143},{},[2144,2150],{"type":54,"tag":121,"props":2145,"children":2147},{"className":2146},[],[2148],{"type":60,"value":2149},"-f",{"type":60,"value":2151}," flag for rebuilds",{"type":60,"value":2153}," — ",{"type":54,"tag":121,"props":2155,"children":2157},{"className":2156},[],[2158],{"type":60,"value":44},{"type":60,"value":257},{"type":54,"tag":121,"props":2161,"children":2163},{"className":2162},[],[2164],{"type":60,"value":45},{"type":60,"value":2166}," skip existing files by default; add ",{"type":54,"tag":121,"props":2168,"children":2170},{"className":2169},[],[2171],{"type":60,"value":2149},{"type":60,"value":2173}," to force a rebuild.",{"type":54,"tag":115,"props":2175,"children":2176},{},[2177,2182,2183,2188],{"type":54,"tag":71,"props":2178,"children":2179},{},[2180],{"type":60,"value":2181},"Phase 3 runs on target GPU",{"type":60,"value":2153},{"type":54,"tag":121,"props":2184,"children":2186},{"className":2185},[],[2187],{"type":60,"value":45},{"type":60,"value":2189}," optimizes TensorRT engines for the deployment GPU; run it on the same GPU class you'll use in production.",{"type":54,"tag":115,"props":2191,"children":2192},{},[2193,2198],{"type":54,"tag":71,"props":2194,"children":2195},{},[2196],{"type":60,"value":2197},"nemo2riva vs. architecture",{"type":60,"value":2199}," — not all NeMo model architectures are supported by every NIM image; check the nemo2riva README for compatibility.",{"type":54,"tag":93,"props":2201,"children":2203},{"id":2202},"limitations",[2204],{"type":60,"value":2205},"Limitations",{"type":54,"tag":111,"props":2207,"children":2208},{},[2209,2221,2226],{"type":54,"tag":115,"props":2210,"children":2211},{},[2212,2214,2219],{"type":60,"value":2213},"x86_64 architecture only — ",{"type":54,"tag":121,"props":2215,"children":2217},{"className":2216},[],[2218],{"type":60,"value":43},{"type":60,"value":2220}," and the NIM container must run on the same architecture",{"type":54,"tag":115,"props":2222,"children":2223},{},[2224],{"type":60,"value":2225},"NVIDIA AI Enterprise license required for self-hosting",{"type":54,"tag":115,"props":2227,"children":2228},{},[2229,2234],{"type":54,"tag":121,"props":2230,"children":2232},{"className":2231},[],[2233],{"type":60,"value":43},{"type":60,"value":2235}," compatibility is version-locked to the NeMo training version — check compatibility before converting",{"type":54,"tag":93,"props":2237,"children":2239},{"id":2238},"next-steps",[2240],{"type":60,"value":2241},"Next Steps",{"type":54,"tag":111,"props":2243,"children":2244},{},[2245,2255],{"type":54,"tag":115,"props":2246,"children":2247},{},[2248,2250],{"type":60,"value":2249},"Configure pipeline details (VAD, diarization, language model, streaming): see ",{"type":54,"tag":121,"props":2251,"children":2253},{"className":2252},[],[2254],{"type":60,"value":469},{"type":54,"tag":115,"props":2256,"children":2257},{},[2258,2260],{"type":60,"value":2259},"Check system requirements: see ",{"type":54,"tag":121,"props":2261,"children":2263},{"className":2262},[],[2264],{"type":60,"value":2265},"riva-ops",{"type":54,"tag":2267,"props":2268,"children":2269},"style",{},[2270],{"type":60,"value":2271},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2273,"total":2430},[2274,2292,2308,2319,2331,2345,2358,2372,2385,2396,2410,2419],{"slug":2275,"name":2275,"fn":2276,"description":2277,"org":2278,"tags":2279,"stars":2289,"repoUrl":2290,"updatedAt":2291},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2280,2283,2286],{"name":2281,"slug":2282,"type":15},"Documentation","documentation",{"name":2284,"slug":2285,"type":15},"MCP","mcp",{"name":2287,"slug":2288,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":2293,"name":2293,"fn":2294,"description":2295,"org":2296,"tags":2297,"stars":2305,"repoUrl":2306,"updatedAt":2307},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2298,2301,2302],{"name":2299,"slug":2300,"type":15},"Containers","containers",{"name":13,"slug":14,"type":15},{"name":2303,"slug":2304,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":2309,"name":2309,"fn":2310,"description":2311,"org":2312,"tags":2313,"stars":2305,"repoUrl":2306,"updatedAt":2318},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2314,2317],{"name":2315,"slug":2316,"type":15},"CI\u002FCD","ci-cd",{"name":13,"slug":14,"type":15},"2026-07-14T05:25:59.97109",{"slug":2320,"name":2320,"fn":2321,"description":2322,"org":2323,"tags":2324,"stars":2305,"repoUrl":2306,"updatedAt":2330},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2325,2326,2327],{"name":2315,"slug":2316,"type":15},{"name":13,"slug":14,"type":15},{"name":2328,"slug":2329,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":2332,"name":2332,"fn":2333,"description":2334,"org":2335,"tags":2336,"stars":2305,"repoUrl":2306,"updatedAt":2344},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2337,2340,2341],{"name":2338,"slug":2339,"type":15},"Debugging","debugging",{"name":2328,"slug":2329,"type":15},{"name":2342,"slug":2343,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":2346,"name":2346,"fn":2347,"description":2348,"org":2349,"tags":2350,"stars":2305,"repoUrl":2306,"updatedAt":2357},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2351,2354],{"name":2352,"slug":2353,"type":15},"Best Practices","best-practices",{"name":2355,"slug":2356,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":2359,"name":2359,"fn":2360,"description":2361,"org":2362,"tags":2363,"stars":2305,"repoUrl":2306,"updatedAt":2371},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2364,2367,2370],{"name":2365,"slug":2366,"type":15},"Machine Learning","machine-learning",{"name":2368,"slug":2369,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":2373,"name":2373,"fn":2374,"description":2375,"org":2376,"tags":2377,"stars":2305,"repoUrl":2306,"updatedAt":2384},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2378,2381],{"name":2379,"slug":2380,"type":15},"QA","qa",{"name":2382,"slug":2383,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":2386,"name":2386,"fn":2387,"description":2388,"org":2389,"tags":2390,"stars":2305,"repoUrl":2306,"updatedAt":2395},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2391,2392],{"name":13,"slug":14,"type":15},{"name":2393,"slug":2394,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":2397,"name":2397,"fn":2398,"description":2399,"org":2400,"tags":2401,"stars":2305,"repoUrl":2306,"updatedAt":2409},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2402,2405,2406],{"name":2403,"slug":2404,"type":15},"Code Review","code-review",{"name":2328,"slug":2329,"type":15},{"name":2407,"slug":2408,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":2411,"name":2411,"fn":2412,"description":2413,"org":2414,"tags":2415,"stars":2305,"repoUrl":2306,"updatedAt":2418},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2416,2417],{"name":2379,"slug":2380,"type":15},{"name":2382,"slug":2383,"type":15},"2026-07-14T05:25:54.928983",{"slug":2420,"name":2420,"fn":2421,"description":2422,"org":2423,"tags":2424,"stars":2305,"repoUrl":2306,"updatedAt":2429},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2425,2428],{"name":2426,"slug":2427,"type":15},"Automation","automation",{"name":2315,"slug":2316,"type":15},"2026-07-30T05:29:03.275638",496,{"items":2432,"total":550},[2433,2450,2461,2468,2479],{"slug":2434,"name":2434,"fn":2435,"description":2436,"org":2437,"tags":2438,"stars":23,"repoUrl":24,"updatedAt":2449},"nemo-clinical-data-designer","generate synthetic clinical datasets","Use when generating synthetic tabular datasets via Data Designer — sampler columns, LLM columns, custom generators. Not for ASR audio.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2439,2442,2445,2448],{"name":2440,"slug":2441,"type":15},"Data Analysis","data-analysis",{"name":2443,"slug":2444,"type":15},"Datasets","datasets",{"name":2446,"slug":2447,"type":15},"Life Sciences","life-sciences",{"name":9,"slug":8,"type":15},"2026-07-14T05:35:42.770246",{"slug":2451,"name":2451,"fn":2452,"description":2453,"org":2454,"tags":2455,"stars":23,"repoUrl":24,"updatedAt":2460},"riva-asr","run and test Riva ASR models","Use when the user wants to deploy, run, or test an ASR (speech-to-text) Riva NIM — cloud-hosted (build.nvidia.com) or self-hosted Parakeet\u002FCanary\u002FWhisper.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2456,2457,2458,2459],{"name":18,"slug":19,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"name":2382,"slug":2383,"type":15},"2026-07-14T05:35:49.042673",{"slug":4,"name":4,"fn":5,"description":6,"org":2462,"tags":2463,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2464,2465,2466,2467],{"name":18,"slug":19,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},{"slug":126,"name":126,"fn":2469,"description":2470,"org":2471,"tags":2472,"stars":23,"repoUrl":24,"updatedAt":2478},"set up NVIDIA Riva Speech NIMs","Use when getting started with NVIDIA Riva Speech NIMs: NGC access, Docker login for nvcr.io, NVIDIA Container Toolkit, GPU verification, Riva Python client.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2473,2474,2476,2477],{"name":18,"slug":19,"type":15},{"name":2475,"slug":812,"type":15},"Docker",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"2026-07-14T05:35:50.295877",{"slug":2480,"name":2480,"fn":2481,"description":2482,"org":2483,"tags":2484,"stars":23,"repoUrl":24,"updatedAt":2493},"riva-tts","deploy and run Riva TTS models","Use when the user wants to deploy, run, or test a TTS (speech-synthesis) Riva NIM — cloud-hosted (build.nvidia.com) or self-hosted Magpie \u002F voice cloning.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2485,2486,2489,2490],{"name":18,"slug":19,"type":15},{"name":2487,"slug":2488,"type":15},"Audio","audio",{"name":9,"slug":8,"type":15},{"name":2491,"slug":2492,"type":15},"Text-to-Speech","text-to-speech","2026-07-14T05:35:45.262923"]