Перейти к основному содержимому

Для чистой Markdown-версии этой страницы добавьте .md к этому URL. Полный индекс документации см. в https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая справочник API и примеры SDK, см. в https://docs.nvidia.com/dynamo/llms-full.txt.

Установите и запустите Dynamo на локальной машине или VM с помощью контейнеров или PyPI

Упрощенный китайский

Локальная установка

Это руководство проведет вас через установку и запуск Dynamo на локальной машине или VM с одной или несколькими GPU. К концу у вас будет рабочая OpenAI-совместимая конечная точка, обслуживающая модель.

Для production-кластеров с несколькими узлами см. Руководство по развертыванию в Kubernetes. Чтобы собирать проект из исходников для разработки, см. Сборка из исходников.

Системные требования

ТребованиеПоддерживается
GPUNVIDIA Ampere, Ada Lovelace, Hopper, Blackwell
OSUbuntu 22.04, Ubuntu 24.04
Архитектураx86_64, ARM64 (ARM64 требует Ubuntu 24.04)
CUDA12.9+ или 13.0+ (B300/GB300 требуют CUDA 13)
Python3.10, 3.12
Драйвер575.51.03+ (CUDA 12) или 580.00.03+ (CUDA 13)

TensorRT-LLM не поддерживает Python 3.11.

Полную матрицу совместимости, включая версии backend-фреймворков, см. в Матрице поддержки.

Установка Dynamo

Вариант A: контейнеры (рекомендуется)

В контейнерах все зависимости уже предустановлены. Дополнительная настройка не требуется.

# SGLang
docker run --gpus all --network host --rm -it nvcr.io/nvidia/ai-dynamo/sglang-runtime:1.2.0

# TensorRT-LLM
docker run --gpus all --network host --rm -it nvcr.io/nvidia/ai-dynamo/tensorrtllm-runtime:1.2.0

# vLLM
docker run --gpus all --network host --rm -it nvcr.io/nvidia/ai-dynamo/vllm-runtime:1.2.0

Чтобы запустить frontend и worker в одном контейнере, либо:

  • запускать процессы в фоне с помощью & (см. раздел запуска Dynamo ниже), или
  • открыть второй терминал и использовать docker exec -it <container_id> bash

См. артефакты релиза для доступных версий и руководства по backend для инструкций запуска: SGLang | TensorRT-LLM | vLLM

Вариант B: установка из PyPI

# Установите uv (рекомендуемый менеджер Python-пакетов)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Создайте виртуальное окружение
uv venv venv
source venv/bin/activate
uv pip install pip

Установите системные зависимости и wheel-пакет Dynamo для выбранного backend:

SGLang

sudo apt install python3-dev
uv pip install --prerelease=allow "ai-dynamo[sglang]"

Для CUDA 13 (B300/GB300) рекомендуется контейнер. Подробности см. в документации по установке SGLang.

TensorRT-LLM

sudo apt install python3-dev
pip install torch==2.9.0 torchvision --index-url https://download.pytorch.org/whl/cu130
pip install --pre --extra-index-url https://pypi.nvidia.com "ai-dynamo[trtllm]"

TensorRT-LLM требует pip из-за транзитивной зависимости Git URL, которую uv не может разрешить. Для более широкой совместимости рекомендуем использовать контейнер TensorRT-LLM. Подробности см. в руководстве по backend TRT-LLM.

vLLM

sudo apt install python3-dev libxcb1
uv pip install --prerelease=allow "ai-dynamo[vllm]"

Запуск Dynamo

Backend обнаружения

Dynamo-компоненты обнаруживают друг друга через общий backend. Доступны два варианта:

BackendКогда использоватьНастройка
FileОдна машина, локальная разработкаНастройка не требуется — передайте --discovery-backend file всем компонентам. Event plane автоматически использует ZMQ (NATS не требуется).
etcdМногоузловой productionТребует запущенный экземпляр etcd (используется по умолчанию, если флаг не указан). Event plane по умолчанию использует NATS.

В этом руководстве используется --discovery-backend file. Для настройки etcd см. Service Discovery.

Проверка установки (необязательно)

Проверьте, что CLI установлен и доступен:

python3 -m dynamo.frontend --help

Если вы клонировали репозиторий, можно запустить дополнительные системные проверки:

python3 dev/sanity_check.py

Запуск фронтенда

# Запустите OpenAI-совместимый frontend (порт по умолчанию 8000)
python3 -m dynamo.frontend --discovery-backend file

Чтобы запустить в одном терминале (полезно в контейнерах), добавьте > logfile.log 2>&1 & для запуска процесса в фоне:

python3 -m dynamo.frontend --discovery-backend file > dynamo.frontend.log 2>&1 &

Запуск воркера

В другом терминале (или в том же, если используете фоновый режим) запустите worker для выбранного backend:

SGLang

python3 -m dynamo.sglang --model-path Qwen/Qwen3-0.6B --discovery-backend file

TensorRT-LLM

python3 -m dynamo.trtllm --model-path Qwen/Qwen3-0.6B --discovery-backend file

Предупреждение Cannot connect to ModelExpress server/transport error. Using direct download. ожидаемо в этой локальной однозонной конфигурации (сервер ModelExpress не запущен) и его можно безопасно игнорировать. В Kubernetes-развертывании, где настроен MODEL_EXPRESS_URL, это предупреждение -- или связанное с ним Failed to resolve local model path after server download -- указывает, что ModelExpress настроен, но фактически не обслуживает кэшированные модели; см. Model Caching in Kubernetes для корректной настройки.

vLLM

python3 -m dynamo.vllm --model Qwen/Qwen3-0.6B --discovery-backend file \
--kv-events-config '{"enable_kv_cache_events": false}'

Настройка KV Events

Для локальной разработки без дополнительных зависимостей отключите публикацию KV events (это позволяет обойтись без NATS):

  • vLLM: Добавьте --kv-events-config '{"enable_kv_cache_events": false}'
  • SGLang: Флаг не нужен (KV events отключены по умолчанию)
  • TensorRT-LLM: Флаг не нужен (KV events отключены по умолчанию)

KV events по умолчанию отключены для всех backend. Для vLLM и SGLang добавляйте backend-специфичный --kv-events-config только когда нужно включить публикацию KV events. Для TensorRT-LLM включите публикацию событий с помощью --publish-events-and-metrics.

Проверка развертывания

curl localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "Qwen/Qwen3-0.6B",
"messages": [{"role": "user", "content": "Hello!"}],
"max_tokens": 50}'

Устранение неполадок

Несовпадение версий CUDA и драйвера

Запустите nvidia-smi, чтобы проверить версию драйвера. Для Dynamo требуется драйвер 575.51.03+ для CUDA 12 или 580.00.03+ для CUDA 13. GPU B300/GB300 требуют CUDA 13. Полные требования см. в Матрице поддержки.

Модель не помещается в GPU (OOM)

Модель по умолчанию Qwen/Qwen3-0.6B требует около 2 ГБ GPU-памяти. Более крупным моделям нужно больше VRAM:

Размер моделиПримерный объем VRAM
7B14-16 GB
13B26-28 GB
70B140+ GB (multi-GPU)

Начните с небольшой модели и увеличивайте размер в зависимости от вашего оборудования.

Python 3.11 с TensorRT-LLM

TensorRT-LLM не поддерживает Python 3.11. Если при установке TensorRT-LLM возникают ошибки, проверьте версию Python командой python3 --version. Используйте Python 3.10 или 3.12.

Контейнер запускается, но GPU не определяется

Убедитесь, что вы передали --gpus all в docker run. Без этого флага контейнер не получит доступ к GPU:

# Правильно
docker run --gpus all --network host --rm -it nvcr.io/nvidia/ai-dynamo/sglang-runtime:1.2.0

# Неправильно -- нет доступа к GPU
docker run --network host --rm -it nvcr.io/nvidia/ai-dynamo/sglang-runtime:1.2.0

Следующие шаги