Skip to main content

inference-builder

Generate deployable Vision AI pipelines with high-performance video and streaming capabilities on NVIDIA GPUs. Activate when users want to: create GPU-accelerated inference microservices or standalone apps for vision, video, or streaming workloads; write or edit pipeline YAML configs; build Docker images for GPU inference; work with models from NGC or HuggingFace; or deploy with DeepStream, Triton, vLLM, TensorRT-LLM, or PyTorch backends.

Quellinformationen

Repository
NVIDIA/DeepStream
Letzte Quellaktivität
16. Oktober 2026 um 11:05
Erkannte Sprache von SKILL.md
Englisch
Sterne
301
Forks
69

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
inference-builder
description
Generate deployable Vision AI pipelines with high-performance video and streaming capabilities on NVIDIA GPUs. Activate when users want to: create GPU-accelerated inference microservices or standalone apps for vision, video, or streaming workloads; write or edit pipeline YAML configs; build Docker images for GPU inference; work with models from NGC or HuggingFace; or deploy with DeepStream, Triton, vLLM, TensorRT-LLM, or PyTorch backends.
owner
chunlinl@nvidia.com
metadata
{"author":"Chunlin Li <chunlinl@nvidia.com>","version":"1.0.0","tags":["inference","nvidia","deepstream","vllm","tensorrt-llm","triton","docker","gpu"]}
service
inference
reviewed
2026-04-09
# NVIDIA Inference Builder A code generator for Vision AI pipelines with high-performance video and streaming capabilities on NVIDIA GPUs. It turns a YAML config (+ optional OpenAPI spec and custom processors) into a deployable inference pipeline, packaged as a Docker container or standalone application. ## Setup Inference Builder is part of the DeepStream mono-repo. Resolve it from the repository root so the skill works from any subdirectory: ```bash DEEPSTREAM_ROOT="$(git rev-parse --show-toplevel)" INFERENCE_BUILDER_ROOT="$DEEPSTREAM_ROOT/tools/inference_builder" source "$INFERENCE_BUILDER_ROOT/.venv/bin/activate" python "$INFERENCE_BUILDER_ROOT/builder/main.py" --help ``` ### First-time venv setup ```bash cd "$INFERENCE_BUILDER_ROOT" python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ### Getting current CLI usage Always run with `--help` for authoritative flags — do NOT rely on memorized syntax: ```bash python "$INFERENCE_BUILDER_ROOT/builder/main.py" --help ``` All paths below are relative to `tools/inference_builder/` unless stated otherwise. ## Key Directories | Path | What lives there | |------|-----------------| | `builder/samples/` | Working examples for every backend — read `builder/samples/README.md` for the full index, then start from the closest matching example | | `schemas/config.schema.json` | Main config schema — all fields, data types, and validation rules | | `schemas/README.md` | Comprehensive reference: backends, parameters, data types, preprocessors, responders, routing | | `schemas/backends/` | Per-backend schemas and parameter definitions | | `templates/backend/` | Jinja templates for each inference backend | | `templates/responder/` | Jinja templates for server endpoint handlers | | `lib/` | Shared runtime libraries included in generated pipelines | | `builder/tests/` | Integration test framework (see `run_tests.sh --help`) | ## Instructions 1. **Browse samples & schemas** — find the closest match in `builder/samples/`; consult `schemas/config.schema.json` and `schemas/backends/` for field reference 2. **Write YAML config** — validate against the schema; consult `schemas/README.md` for data types, preprocessors, responders, and routing. Prefer choices that keep the hot path on GPU and skip avoidable GPU↔CPU round-trips; prefer GPU acceleration across the whole pipeline — decode/ encode, scale & color convert, batch, preprocess, infer, track, and overlay 3. **Generate pipeline** — `python builder/main.py <config.yaml> [options]` 4. **Prepare model repository** — download models from NGC/HuggingFace into the model_repo directory 5. **Generate nvinfer config** (DeepStream only) — check if the downloaded model already includes runtime config files (nvdsinfer_config.yaml, nvdspreprocess_config.yaml); if not, generate them and place alongside the model. Skip this step entirely for non-DeepStream backends 6. **Select platform & build Docker image** — read `doc/platform-guide.md` to choose the correct base image and Dockerfile for the target hardware (x86_64, Jetson/Tegra, DGX Spark); then build the image 7. **Run & test** — run the container with the model repository mounted; for serverless pipelines the container runs to completion; for HTTP servers (fastapi/triton/nim) send test requests to verify. If GPU resources are available, perform an end-to-end smoke test against the running container to validate the full pipeline on real hardware ## Non-Obvious Knowledge - If the user's model request is ambiguous (e.g., unclear model variant, version, precision, or source), always ask for clarification before proceeding — do not guess. - Before using any model, gather as much information as possible about it: version, architecture, input/output shapes, precision, and expected preprocessing. Cross-check this information against the pipeline YAML config and any runtime config (e.g., nvdsinfer_config.yaml) to ensure consistency — mismatches in input dims, scale factors, or label files are common sources of silent failures. - Config YAML supports runtime env-var substitution: `$ENV_VAR|default_value` (auto-typed based on the default). - Server type `serverless` does NOT need an OpenAPI spec or server definition. - Custom processor class `name` attribute must exactly match the processor name in the YAML config. - Default to bridge networking plus explicit `-p` port mappings. Recommend Docker host-network or host-IPC modes only when the deployment explicitly needs host namespace sharing, and call out the security tradeoff before opting in. - Before running containers, check `nvidia-smi` for free GPU memory. If GPUs are occupied or low on memory, select a free GPU with `--gpus device=N` or ask the user to free resources — OOM failures can be silent or misleading. - Key runtime env vars: `HTTP_PORT` (default 8000), `LOG_LEVEL` (default INFO), `DEBUG` (0/1), `N_CODEC_INSTANCES` (parallel video decoders), `MAX_BATCH_SIZE` (live stream frame batching). - DeepStream backends require a separate `nvdsinfer_config.yaml` in the model directory. - When writing new configs, the required top-level fields are only `name`, `model_repo`, and `models` — everything else is optional. ## Examples - "Generate an inference-builder YAML config for a DeepStream detection service that reads RTSP, uses Triton, and exposes a FastAPI endpoint." - "Adapt the dummy sample into a serverless image-inference pipeline and show the Docker build and run commands."
Auf GitHub ansehen