Skip to main content
NVIDIA
SGLang Model-Free NIM Experimental
Container
NVIDIA
SGLang Model-Free NIM Experimental

SGLang Model-Free NIM is a production-ready inference microservice that serves a broad range of LLMs supplied at runtime in Hugging Face format, with automatic backend selection and optimized configurations.

LayerLabelCreated
sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4ENTRYPOINT
/opt/nim/start_server.sh
10/24/2026 10:38 AM UTC
sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4USER
nvs:1000
10/24/2026 10:38 AM UTC
sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1WORKDIR
/opt/nim
10/24/2026 10:38 AM UTC
sha256:947c477e4d80bad1f9a09aaf49639524edb381873db6deafd3016b4b15d27a20RUN
SGLANG_RUST_BUILD_MODE=never NIM_SDK_DOWNLOAD_MAX_RETRY_COUNT_DEFAULT=8 NIM_SDK_DOWNLOAD_BACKOFF_INTERVAL_MS_DEFAULT=1000 /bin/bash -lc set -euo pipefail; python3 -c "import nim_stack, sglang; from nim_stack.manifest.io import _generate_symlinks; print('sanity: imports ok')"; test -f /sgl-workspace/sglang/python/sglang/srt/models/glm5_next.py; grep -q 'glm53_always_think' /sgl-workspace/sglang/python/sglang/srt/parser/template_detection.py; grep -q 'data_ptr() % 32' /sgl-workspace/sglang/python/sglang/srt/models/qwen3_5.py; test -f /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/patches/external_model_package.py; grep -q 'ensure_external_model_package' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/lifecycle.py; grep -q 'parse_sglang_args' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/manifest/evaluator.py; grep -q 'reasoning_parser = S.INTERNAL("auto")' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/transformers/apply_runtime_parameters.py; grep -q '_stop_str_window_start' /sgl-workspace/sglang/python/sglang/srt/managers/schedule_batch.py; grep -q 'class PoolCapacityError(ValueError)' /sgl-workspace/sglang/python/sglang/srt/model_executor/pool_configurator.py; grep -q 'NIM_ENABLE_RESPONSE_STORE' /usr/local/lib/python3.12/dist-packages/nim_stack/compiler/ir/schema.py; grep -q 'class VideoStreamUndecodableError(ValueError)' /sgl-workspace/sglang/python/sglang/srt/utils/video_decoder.py; grep -q 'selectedModelProfileId' /usr/local/lib/python3.12/dist-packages/nim_stack/nimlib_impl/metadata.py; grep -q 'reasoning_off_prefill' /sgl-workspace/sglang/python/sglang/srt/parser/reasoning_parser.py; grep -q 'media_url_max_file_size_mb = S.INTERNAL(2048)' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/transformers/apply_runtime_parameters.py; grep -q 'HEALTH_LOCATIONS_ISOLATED' /opt/nim/scripts/generate_nginx_config.sh; grep -q '_compressed_tensors_precision' /usr/local/lib/python3.12/dist-packages/nim_stack/nimlib_impl/model_info_derivation.py; grep -q 'EnvProfileSelector.select(artifact.manifest)' /usr/local/lib/python3.12/dist-packages/nim_stack/manifest/selector.py; grep -q 'media_url_timeout_secs=bind("REQUEST_TIMEOUT")' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/dialect.py; grep -q 'media_url_timeout_secs = S.INTERNAL(120)' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/transformers/apply_runtime_parameters.py; grep -q 'Checkpoint precision is unavailable' /usr/local/lib/python3.12/dist-packages/nim_stack/manifest/model_metadata.py; grep -q 'RECIPE_REGISTRY = RecipeRegistry(' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/recipe_registry.py; grep -q '_MAX_NUM_SEQS_PER_GPU' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/recipe_registry.py; grep -q 'architecture_aliases=' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/recipe_registry.py; test "${SGLANG_EXTERNAL_MODEL_PACKAGE:-}" = sglang_meta_common.models; test "${SGLANG_EXTERNAL_MM_PROCESSOR_PACKAGE:-}" = sglang_meta_common.processors; grep -q 'class ApplySGLangServingRecipe' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/transformers/apply_serving_recipe.py; grep -q 'moe = config.get("moe")' /usr/local/lib/python3.12/dist-packages/nim_stack/compiler/analyses/model_config.py; grep -q 'NIM_MAX_REQUEST_BODY_MB' /opt/nim/scripts/nginx_env_vars.sh; grep -q 'client_max_body_size .*NIM_MAX_REQUEST_BODY_MB' /opt/nim/etc/nginx.conf.template; grep -q 'def get_lm_head_scheme' /sgl-workspace/sglang/python/sglang/srt/layers/quantization/compressed_tensors/compressed_tensors.py; grep -q 'allowed_methods=frozenset({"GET"})' /sgl-workspace/sglang/python/sglang/srt/utils/common.py; grep -q 'delivery/107' /sgl-workspace/sglang/python/sglang/srt/multimodal/processors/glm4v.py; grep -q 'not dirname.startswith(".")' /usr/local/lib/python3.12/dist-packages/nim_stack/manifest/io.py; grep -q 'def _serves_in_place' /usr/local/lib/python3.12/dist-packages/nim_stack/nimlib_impl/model_download.py; test "$(grep -c '_materialize_dynamic_modules(workspace_path)' /usr/local/lib/python3.12/dist-packages/nim_stack/nimlib_impl/model_download.py)" = 2; grep -q 'class StartupInputError' /usr/local/lib/python3.12/dist-packages/nim_stack/manifest/preflight.py; grep -q 'This is a model-free NIM' /usr/local/lib/python3.12/dist-packages/nim_stack/manifest/preflight.py; grep -q 'This is a model-free NIM. Provide a model' /opt/nim/start_server.sh; test -z "$(find /sgl-workspace/sglang/python /usr/local/lib/python3.12/dist-packages /opt/nim -type f \( -name '*.orig' -o -name '*.rej' \) -print -quit)"; test ! -e /opt/nim/patches; test -z "$(find /opt/nim/vendor -maxdepth 1 -name 'sglang_met[a]*' -print -quit 2>/dev/null)"; test -z "$(find /opt/nim/runtime-cache -not -user 1000 -print -quit)"; test -x /opt/nim/start_server.sh; test ! -e /opt/nim/etc/default/model_manifest.yaml; test ! -d /opt/nim/tuning_configs; test -z "${NIM_NAME:-}"; test -z "${NIM_SERVED_MODEL_NAME:-}"; test "${SGLANG_EXTERNAL_MODEL_PACKAGE:-}" = sglang_meta_common.models; test "${SGLANG_EXTERNAL_MM_PROCESSOR_PACKAGE:-}" = sglang_meta_common.processors; test "${FLASHINFER_NO_DOWNLOAD:-}" = 1; python3 -c "import importlib.metadata as md; names={d.metadata['Name'].lower() for d in md.distributions()}; assert {'sglang-meta-common','sglang-meta'} <= names, names; assert 'mooncake-transfer-engine-cuda13' not in names"; python3 -c "import importlib.util as u; assert u.find_spec('mooncake') is None"; grep -q 'CONFIG_FILE = 8' /usr/local/lib/python3.12/dist-packages/nim_stack/compiler/ir/provenance.py; grep -q 'def apply_config' /usr/local/lib/python3.12/dist-packages/nim_stack/compiler/transformers/utils.py; grep -q 'def __prepare_effective_root_ir' /usr/local/lib/python3.12/dist-packages/nim_stack/compiler/optimization.py; grep -q 'def __only_profile' /usr/local/lib/python3.12/dist-packages/nim_stack/compiler/optimization.py; grep -q 'analysis_factory=SGLangAnalyses' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/adapter.py; grep -q 'def _pinned_world_size' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/manifest/planner.py; grep -q 'class VisibleGPUCountError(StartupInputError)' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/manifest/planner.py; grep -q 'def _pin_visible_gpus' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/transformers/apply_runtime_parameters.py; if grep -q '_with_config_file_axes' /usr/local/lib/python3.12/dist-packages/nim_stack/engines/sglang/manifest/planner.py; then echo 'FAIL: 051 planner marker present (final gate)' >&2; exit 1; fi; test "$(grep -c 'delivery/055' /sgl-workspace/sglang/python/sglang/srt/entrypoints/http_server.py)" -ge 2; if grep -q '_anthropic_validation_message' /sgl-workspace/sglang/python/sglang/srt/entrypoints/http_server.py; then echo 'FAIL: 055 helper rename missing (final gate)' >&2; exit 1; fi; test "$(grep -c 'delivery/056' /sgl-workspace/sglang/python/sglang/srt/entrypoints/anthropic/serving.py)" -ge 3; grep -q 'def thinking_signature(' /sgl-workspace/sglang/python/sglang/srt/entrypoints/anthropic/serving.py; if grep -q 'conflict with NIM_CONFIG_FILE' /usr/local/lib/python3.12/dist-packages/nim_stack/compiler/optimization.py; then echo 'FAIL: 051 optimization marker present (final gate)' >&2; exit 1; fi; grep -q 'def _canonical_dtype_tag' /usr/local/lib/python3.12/dist-packages/nimlib/profile_report.py; test -x /usr/local/bin/list-model-profiles; grep -q 'exec /opt/nim/start_server.sh list-model-profiles' /usr/local/bin/list-model-profiles; if grep -q 'nimlib.cli.list_model_profiles' /usr/local/bin/list-model-profiles; then echo 'FAIL: 028 shim missing, nimlib console script still installed (final gate)' >&2; exit 1; fi
10/24/2026 10:38 AM UTC
sha256:b8a8e2289612c3c899a656b8eda800d0f539ec6bad2a423f581ea221fe1cc49dRUN
SGLANG_RUST_BUILD_MODE=never NIM_SDK_DOWNLOAD_MAX_RETRY_COUNT_DEFAULT=8 NIM_SDK_DOWNLOAD_BACKOFF_INTERVAL_MS_DEFAULT=1000 /bin/bash -lc set -euo pipefail; python3 /opt/nim/tools/recipe-gate/probe_recipes_cpu.py --recipes /opt/nim/recipes-under-test --golden /opt/nim/recipes-under-test/golden --fake-model /opt/nim/tools/recipe-gate --report /tmp/recipe-gate.json; python3 -c "import json; r=json.load(open('/tmp/recipe-gate.json')); print('recipe gate:', {k: v.get('status', v) if isinstance(v, dict) else v for k, v in (r.items() if isinstance(r, dict) else enumerate(r))})" ||
  true; rm -rf /opt/nim/tools/recipe-gate /opt/nim/recipes-under-test /tmp/recipe-gate.json; test ! -e /opt/nim/recipes-under-test
10/24/2026 10:38 AM UTC
sha256:c41fbe56a59771ba3856ba9cc681eab8fd6b2c1213618ced07bb0f74860ace9cCOPY
recipes/ /opt/nim/recipes-under-test/
10/24/2026 10:38 AM UTC
sha256:33167b3163638afcdc1c858df972ad8540098f6c9b64eab6214944e6f27cd5a2COPY
docker/tools/probe_recipes_cpu.py docker/tools/fake-1017/ /opt/nim/tools/recipe-gate/
10/24/2026 10:38 AM UTC
sha256:cc4ac3406e236d7b87e7d2d4369be22fd3fb2ebd2f707ecab8400f7dcd3e1fb8RUN
SGLANG_RUST_BUILD_MODE=never NIM_SDK_DOWNLOAD_MAX_RETRY_COUNT_DEFAULT=8 NIM_SDK_DOWNLOAD_BACKOFF_INTERVAL_MS_DEFAULT=1000 /bin/bash -lc set -euo pipefail; rm -rf /opt/nim/runtime-cache/sglang/.cache /root/.cache/flashinfer /root/.cache/sglang; find /sgl-workspace/sglang/python /usr/local/lib/python3.12/dist-packages /opt/nim -type f \( -name '*.orig' -o -name '*.rej' \) -print -delete | sed 's#^#strip patch backup: #'; test -z "$(find /sgl-workspace/sglang/python /usr/local/lib/python3.12/dist-packages /opt/nim       -type f \( -name '*.orig' -o -name '*.rej' \) -print -quit)"; rm -rf /opt/nim/patches; chown -R 1000:1000 /opt/nim/runtime-cache; test -z "$(find /opt/nim/runtime-cache -not -user 1000 -print -quit)"
10/24/2026 10:38 AM UTC
sha256:5a11aa91eb2b74596b8da1a986bb6afae026015ebc19e77ec49306438d7c4112RUN
SGLANG_RUST_BUILD_MODE=never NIM_SDK_DOWNLOAD_MAX_RETRY_COUNT_DEFAULT=8 NIM_SDK_DOWNLOAD_BACKOFF_INTERVAL_MS_DEFAULT=1000 /bin/bash -lc set -euo pipefail; py_site="$(python3 -c 'import site; print(site.getsitepackages()[0])')"; cd "${py_site}"; sha256sum nimlib/profile_report.py; patch --batch --forward --fuzz=0 --dry-run -p1 < /opt/nim/patches/053/patch.diff; patch --batch --forward --fuzz=0 -p1 < /opt/nim/patches/053/patch.diff; python3 -m py_compile nimlib/profile_report.py; grep -q 'def _canonical_dtype_tag' nimlib/profile_report.py; grep -q 'tag_name == "inference_kv_cache_dtype"' nimlib/profile_report.py; sha256sum nimlib/profile_report.py; (cd /opt/nim/patches/053/tests &&
  python3 -m unittest -v test_nvbug_6400738_friendly_name > /tmp/unit-053.log 2>&1) ||
  { tail -40 /tmp/unit-053.log; exit 1; }; grep -E '^(Ran |OK)' /tmp/unit-053.log; grep -q '^Ran 8 tests' /tmp/unit-053.log; grep -q '^OK' /tmp/unit-053.log; rm -rf /opt/nim/patches /tmp/unit-053.log
10/24/2026 10:38 AM UTC
sha256:4ea8f7ad4f54ea3b88a80863de8c43c6dc121624b72a83b9438b7b6d824b846cCOPY
docker/patches/053_nvbug-6400738-friendly-name-dedup/ /opt/nim/patches/053/
10/24/2026 10:38 AM UTC
1-10 of 178 items

Modal Content

NVIDIA uses cookies to improve your experience on our web site. We and our third-party partners also use cookies and other tools to collect and record information you provide as well as information about your interactions with our websites for performance improvement, analytics, and to assist in marketing efforts. By clicking "Accept All", you consent to our use of cookies and other tools as described in our Cookie Policy. You can manage your cookie settings by clicking on "Manage Settings." By continuing to use this site or by clicking one of the buttons below, you agree to our Terms of Service (which contains important waivers). Please see our Privacy Policy for more information on our privacy practices.