Skip to content
Back to skills

Rtvi Byom Porting

ASecurity

Use when adding, debugging, or validating a bring-your-own VLM in VSS RT-VLM, including custom Hugging Face or NGC checkpoints, vLLM adapters or plugins, model shims, and model-specific runtime dependencies. Not for selecting an already-supported model or ordinary RT-VLM deployment.

  • 1,886 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 1, 2026
ai-agentspythonrustshellexpresstestingdebugginggitbackendperformance

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned October 1, 2026

npx -y skills add NVIDIA-AI-Blueprints/video-search-and-summarization --skill rtvi-byom-porting --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rtvi Byom Porting?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rtvi Byom Porting
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nvidia-ai-blueprints-rtvi-byom-porting/badge)](https://www.skillsdirectory.com/skills/nvidia-ai-blueprints-rtvi-byom-porting)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rtvi-byom-porting
description: Use when adding, debugging, or validating a bring-your-own VLM in VSS RT-VLM, including custom Hugging Face or NGC checkpoints, vLLM adapters or plugins, model shims, and model-specific runtime dependencies. Not for selecting an already-supported model or ordinary RT-VLM deployment.
license: Apache-2.0
metadata:
  version: "3.3.0-rc0"
  github-url: "https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization"
  tags: "nvidia blueprint rtvi vlm byom vllm model-porting"
---

# RTVI BYOM Porting

## Purpose

Port a VLM into the VSS RT-VLM service without hard-coding one checkpoint or
GPU platform. Prefer configuration, then an RTVI adapter or vLLM plugin, and
patch vLLM only when the supported extension points cannot express the model.

Use `vss-deploy-dense-captioning` for ordinary deployment or an already-supported
model. Use this skill when model architecture, processor, weight mapping, runtime
dependencies, or request adaptation requires repository work.

## Model Contract

Before changing code, record:

- immutable model source and revision, license and access requirements;
- architecture, processor, tokenizer, quantization and context length;
- vision-token and frame-sampling assumptions;
- CUDA architecture, memory, vLLM/runtime and custom-kernel requirements.

For a private Hugging Face source, use `HF_TOKEN` only during authenticated
download/cache population. Never print it, embed it in `MODEL_PATH`, or bake it
into an image. Prove the cached model starts after the temporary credential is
removed. If remote model code is required, review it first and pair
`VLM_TRUST_REMOTE_CODE=true` with an exact allowlist entry. For the VSS profile,
set `RTVI_VLM_MODEL_PATH_ALLOWLIST`; inside the service container this becomes
`RTVI_MODEL_PATH_ALLOWLIST`. Likewise, the profile input
`RTVI_VLM_ALLOW_UNSAFE_MODEL_CONFIG` becomes
`RTVI_ALLOW_UNSAFE_MODEL_CONFIG`; do not enable it without reviewing the
blocked config hooks.

## Integration Decision

Stop at the first path that works:

1. **Configuration only:** use `VLM_MODEL_TO_USE=vllm-compatible` and
   `MODEL_PATH=<ngc: or mounted path>`. A `git:` source is acceptable only for
   exploration because the develop downloader does not pin Hugging Face
   revisions; use a revision-pinned mounted snapshot for reproducible evidence.
2. **RTVI adapter:** normalize config, processor, request or response behavior
   inside `services/rtvi/rt-vlm/` while preserving existing model behavior.
3. **Plugin or shim:** register architecture and deterministic weight mappings
   without editing vendored vLLM internals.
4. **Version-gated patch:** patch vLLM only after recording why the first three
   paths cannot work. Keep it optional and add a focused regression test.

Use `VLM_MODEL_TO_USE=custom` with `MODEL_IMPLEMENTATION_PATH` only for a custom
RTVI model implementation. In the VSS Compose profile these are exposed as
`RTVI_VLM_MODEL_TO_USE`, `RTVI_VLM_MODEL_PATH`, and
`RTVI_VLM_MODEL_IMPLEMENTATION_PATH`.

For source, adapter, plugin, or custom-backend changes, build the RT-VLM image
from `services/rtvi/rt-vlm/`, test it with standalone Compose via `RTVI_IMAGE`,
then select the same repository and tag in the VSS profile via
`VSS_RT_VLM_IMAGE` and `VSS_RT_VLM_TAG`. Record the tested image digest. A host
`MODEL_IMPLEMENTATION_PATH` alone is insufficient: the implementation must
exist at that path inside the selected image or an explicit Compose bind mount.

Read [references/vllm-porting.md](references/vllm-porting.md) before changing
model loading, registration, weight mapping, kernels, cache behavior or vLLM.

## Hard Gates

- Do not enable eager mode by default. If it is unavoidable, capture the exact
  blocker, performance impact and removal condition.
- Do not bind generic model logic to H100, B200, RTX, Orin, x86 or Jetson.
  Capability-detect or use existing configuration boundaries.
- Keep secrets out of commands, logs, images, reports and committed files.
- Do not accept a successful load as proof of a successful port. Output must be
  legible and grounded for every claimed modality.

## Validation

Run the smallest relevant checks in this order:

1. Static checks and focused tests for changed Python, shell and configuration.
2. Start RT-VLM through the canonical VSS Compose/profile path and verify
   `/v1/health/ready` and `/v1/models`. First use standalone Compose when a
   revision-pinned host model snapshot must be mounted; the VSS profile does not
   expose `MODEL_ROOT_DIR` on develop.
3. Smoke-test text, image and video inputs for every claimed modality. Set the
   explicit media type when testing images rather than relying on video routing.
4. Read [references/quality-gates.md](references/quality-gates.md), retain raw
   redacted responses, and reject gibberish, repetition or ungrounded claims.
5. Run relevant caption, event-detection or summarization accuracy checks.
6. Record latency, throughput, GPU memory/utilization, eager state and custom
   kernel state.

Use `skills/deployment/rtvi-byom-porting/scripts/byom_port_report.py` to turn
observed JSON facts into a compact Markdown report. Evidence is mandatory for a
PASS result; the helper does not manufacture it. Run
`python3 skills/deployment/rtvi-byom-porting/scripts/tests/test_byom_port_report.py`
after changing the helper.

## Completion Contract

Report the exact model revision and backend, integration path, eager-mode state,
platform gating, smoke/accuracy/performance evidence, remaining blockers and the
next bounded validation step.

Files in this skill

  • SKILL.md5.5 KB
  • agents/openai.yaml247 B
  • references/quality-gates.md1010 B
  • references/vllm-porting.md6.1 KB
  • scripts/byom_port_report.py5.8 KB
  • scripts/tests/test_byom_port_report.py5.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.