RT-VLM Dense Captioning Deployment
Deploy and operate NVIDIA RT-VLM to generate dense video captions and manage live streams through a REST API.
The documentation requires bearer/API-key handling, secret redaction, non-interactive sudo, confirmation before Kafka replacement, dry-run validation, and cleanup. However, deployment still involves Docker, GPU access, host ownership changes, and potentially restarting Docker; credential-file handling and isolation of external model/service data flows are incomplete, so 14 points are deducted.
Routing, environment requirements, preflights, OpenAPI-first behavior, health checks, error classes, and failure messages are fairly detailed, with committed evaluation checklists. Key deployment and API paths were not executed in this static review, and GPU, remote-service, dependency-version, and Compose behavior remain uncertain; 12 points are deducted within the static ceiling.
The audience, deployment/API scenarios, non-fit boundary for full VSS profiles, inputs, outputs, and RTSP failure conditions are clear. Chinese-language interaction/output support is not specified, and core images, models, and some documentation depend on overseas services that may be difficult to reach from mainland China; 7 points are deducted.
The skill is layered into purpose, prerequisites, routing, workflows, limitations, troubleshooting, and references, with a version and Apache-2.0 metadata. However, the skill card claims “Apache 2.0 OR MIT,” conflicting with the main file; author metadata is missing, and changelog plus explicit maintenance responsibility are incomplete; 7 points are deducted.
The skill covers standalone deployment, file upload captioning, RTSP, chat, and Kafka, while requiring live OpenAPI checks, exact model IDs, and cleanup. The included evaluation report provides limited correctness/effectiveness signals, but no representative outputs were statically verifiable here, and GPU, image, model, and Kafka requirements make cost-benefit conditional; 9 points are deducted.
Pinned revision context, references, evaluation manifests, and a committed evaluation report provide limited traceability. There are no independently reproducible execution artifacts, CI coverage, or corroborating third-party evidence available in the supplied files, and the evaluation sample contains only two tasks; 6 points are deducted.
- Execution may require Docker-group or sudo privileges, host ownership changes, and possibly a Docker restart; obtain explicit confirmation before privileged or externally effectful operations and retain a rollback plan.
- NGC, Hugging Face, remote VLMs, and documentation services may depend on overseas connectivity; verify mainland-China reachability, image caching, and fallback options in advance.
- The main file and skill card conflict on licensing, and the benchmark reports only 25% Codex security performance; maintainers should reconcile the license and re-audit credential, Kafka, and cleanup flows before publication.
What does this skill do, and when should you use it?
This skill guides standalone deployment of NVIDIA’s RT-VLM dense-captioning microservice and operation through its REST API. It covers local video uploads, chunked caption generation, RTSP stream lifecycle, OpenAI-compatible chat completions, health checks, metrics, and Kafka-related workflows. Deployment requires Docker Compose, the NVIDIA Container Toolkit, a visible GPU, and NGC credentials. It does not deploy full VSS profiles or perform video-search ingestion.
It instructs an agent to copy and adjust the RT-VLM Compose file, create an environment file, run GPU, Docker, and NVIDIA container preflights, validate the Compose configuration with a dry run, pull the exact image tag, and start the service. It uses curl and jq to call health checks, model listing, file upload, generate_captions, RTSP stream add/get/delete, chat-completions, asset statistics, and Prometheus metrics endpoints. It also covers SSE caption streams, bearer authentication, common HTTP failures, and Kafka validation.
- A platform engineer deploying RT-VLM on a standalone NVIDIA GPU host can follow the preflight, dry-run, startup, and readiness workflow.
- A video-analytics developer can upload warehouse or other local footage and generate dense captions and alerts for fixed-duration segments.
- An operations engineer handling live cameras can validate a supplied RTSP URL, register the stream, caption it, and remove it afterward.
- An application developer connecting to an existing RT-VLM service can use its REST endpoints, OpenAI-compatible chat interface, and model discovery.
- An integration engineer validating incident publication can inspect Kafka topics using the service’s live configuration.
What are this skill's strengths and limitations?
- Provides an end-to-end operational path from standalone deployment and preflight checks through dry-run validation and readiness testing.
- Covers local files, RTSP streams, SSE captions, OpenAI-compatible chat completions, and Kafka-related validation.
- Clearly routes full VSS profile deployment to a separate skill, reducing scope confusion.
- Documents authentication, common HTTP errors, GPU-memory failures, and a Docker snapshot unpacking issue.
- Requires an NVIDIA GPU, NVIDIA Container Toolkit, Docker infrastructure, and NGC credentials.
- NGC-hosted models and NIMs may be subject to rate limits, GPU-memory requirements, and license restrictions.
- Concurrency, GPU memory, and storage capacity depend on host hardware and the Compose profile; no hardware support matrix is provided.
- It is not intended for full VSS profile deployment or video-search ingestion; those workflows belong to other skills.
How do you install this skill?
Install only this skill from the catalog with the README’s skills CLI command:
npx skills add nvidia/skills --skill vss-deploy-dense-captioning --yes
The CLI prompts for an installation destination. The README does not specify a fixed local folder for the installed skill.
How do you use this skill?
Ensure Docker, Docker Compose, the NVIDIA Container Toolkit, a visible GPU, NGC_CLI_API_KEY, curl, and jq are available. Copy deploy/docker/services/rtvi/rtvi-vlm/rtvi-vlm-docker-compose.yml into a writable directory, remove the standalone-invalid depends_on block, and create a gitignored rtvi-vlm.env with values such as NGC_CLI_API_KEY, RTVI_VLM_PORT, HOST_IP, VSS_DATA_DIR, and RTVI_VLM_MODEL_TO_USE. Run the GPU and Docker preflights, then validate:
docker compose --env-file rtvi-vlm.env -f rtvi-vlm-docker-compose.yml config --quiet
Pull the exact image tag, start rtvi-vlm, and wait for readiness. After setting BASE_URL and API_KEY, probe the service with:
curl -fsS "$BASE_URL/v1/health/ready"
For local footage, call POST /v1/files and pass the returned id to POST /v1/generate_captions. For live validation, use the caller-provided RTSP_SAMPLE_URL and verify it contains video before registration. Read /openapi.json before optional calls to confirm the live API surface and use the exact model ID returned by /v1/models. Never expose credentials in logs or responses.