Чтобы получить чистый Markdown этой страницы, добавьте
.mdк этому URL. Полный индекс документации доступен по адресу https://docs.nvidia.com/dynamo/llms.txt. Полный контент, включая справочник API и примеры SDK, доступен по адресу https://docs.nvidia.com/dynamo/llms-full.txt.
Справочник по конфигурации Frontend
На этой странице описаны все параметры конфигурации Dynamo Frontend
(python -m dynamo.frontend).
У каждого CLI-аргумента есть соответствующая переменная окружения. CLI-аргументы имеют приоритет над переменными окружения.
HTTP и сеть
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--http-host | DYN_HTTP_HOST | 0.0.0.0 | Адрес для HTTP-прослушивания |
--http-port | DYN_HTTP_PORT | 8000 | Порт для HTTP-прослушивания |
--tls-cert-path | DYN_TLS_CERT_PATH | — | Путь к TLS-сертификату (PEM). Используется только вместе с --tls-key-path |
--tls-key-path | DYN_TLS_KEY_PATH | — | Путь к TLS-приватному ключу (PEM). Используется только вместе с --tls-cert-path |
HTTP-сервер на Rust также читает эти переменные окружения (они не доступны как CLI-аргументы):
| Env Var | Значение по умолчанию | Описание |
|---|---|---|
DYN_HTTP_BODY_LIMIT_MB | 192 | Максимальный размер тела запроса в МБ |
DYN_HTTP_GRACEFUL_SHUTDOWN_TIMEOUT_SECS | 5 | Таймаут корректного завершения в секундах |
Маршрутизация
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--router-mode | DYN_ROUTER_MODE | round-robin | Стратегия маршрутизации: round-robin, random, kv, direct, least-loaded, device-aware-weighted |
--load-aware / --no-load-aware | DYN_ROUTER_LOAD_AWARE | false | Пресет для KV load-aware маршрутизации без сигналов cache reuse; подразумевает --router-mode kv |
--router-kv-overlap-score-credit | DYN_ROUTER_KV_OVERLAP_SCORE_CREDIT | 1.0 | Множитель кредита за локальное на устройстве перекрытие префикса, от 0.0 до 1.0 |
--router-prefill-load-scale | DYN_ROUTER_PREFILL_LOAD_SCALE | 1.0 | Масштабирует скорректированную нагрузку prefill на стороне prompt перед добавлением блоков decode |
--router-temperature | DYN_ROUTER_TEMPERATURE | 0.0 | Температура softmax для нормализованной выборки worker'ов. 0 = детерминированно |
--router-kv-events / --no-router-kv-events | DYN_ROUTER_USE_KV_EVENTS | true | Включает события состояния KV cache от worker'ов. Отключите для маршрутизации на основе предсказаний |
--router-ttl-secs | DYN_ROUTER_TTL_SECS | 120.0 | TTL блока, когда KV events отключены |
--router-replica-sync / --no-router-replica-sync | DYN_ROUTER_REPLICA_SYNC | false | Синхронизирует состояние между несколькими экземплярами router'а |
--router-snapshot-threshold | DYN_ROUTER_SNAPSHOT_THRESHOLD | 1000000 | Количество сообщений до создания snapshot'а |
--router-reset-states / --no-router-reset-states | DYN_ROUTER_RESET_STATES | false | Сбрасывает состояние router'а при запуске. Внимание: влияет на существующие replicas |
--router-track-active-blocks / --no-router-track-active-blocks | DYN_ROUTER_TRACK_ACTIVE_BLOCKS | true | Отслеживает блоки, используемые выполняющимися запросами, для балансировки нагрузки |
--router-assume-kv-reuse / --no-router-assume-kv-reuse | DYN_ROUTER_ASSUME_KV_REUSE | true | Предполагает повторное использование KV cache при отслеживании активных блоков |
--router-track-output-blocks / --no-router-track-output-blocks | DYN_ROUTER_TRACK_OUTPUT_BLOCKS | false | Отслеживает output blocks с дробным затуханием во время генерации |
--router-track-prefill-tokens / --no-router-track-prefill-tokens | DYN_ROUTER_TRACK_PREFILL_TOKENS | true | Учитывает нагрузку prefill на стороне prompt в расчёте нагрузки worker'а |
--router-prefill-load-model | DYN_ROUTER_PREFILL_LOAD_MODEL | none | Модель нагрузки на стороне prompt: none для статической нагрузки, aic для затухания oldest-prefill на основе прогноза AIC |
--router-event-threads | DYN_ROUTER_EVENT_THREADS | 4 | Потоки worker'а для KV indexer. Значение >1 включает concurrent radix tree, в том числе при --no-router-kv-events |
--router-queue-threshold | DYN_ROUTER_QUEUE_THRESHOLD | 16.0 | Порог очереди как доля prefill capacity. Включает приоритетное планирование |
--router-queue-policy | DYN_ROUTER_QUEUE_POLICY | fcfs | Политика планирования очереди: fcfs (tail TTFT), wspt (средний TTFT) или lcfs (обратный порядок только для сравнения) |
--decode-fallback / --no-decode-fallback | DYN_DECODE_FALLBACK | false | Переключается на aggregated mode, когда prefill worker'ы недоступны |
Модель AIC для нагрузки prefill
Эти параметры используются только когда --router-mode kv сочетается с
--router-prefill-load-model aic.
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--aic-backend | DYN_AIC_BACKEND | — | Семейство backend'а, которое нужно моделировать в AIC, например vllm или sglang |
--aic-system | DYN_AIC_SYSTEM | — | Идентификатор оборудования/системы AIC, например h200_sxm |
--aic-model-path | DYN_AIC_MODEL_PATH | — | Путь к модели или идентификатор модели, используемый для поиска производительности в AIC |
--aic-backend-version | DYN_AIC_BACKEND_VERSION | зависит от backend'а | Закреплённая версия базы AIC. Если не указано, Dynamo использует значение по умолчанию backend'а |
--aic-tp-size | DYN_AIC_TP_SIZE | 1 | Размер tensor parallel, который нужно моделировать в AIC |
--aic-moe-tp-size | DYN_AIC_MOE_TP_SIZE | — | Размер MoE tensor parallel для моделей, которым нужна MoE parallelism AIC |
--aic-moe-ep-size | DYN_AIC_MOE_EP_SIZE | — | Размер MoE expert parallel для моделей, которым нужна MoE parallelism AIC |
--aic-attention-dp-size | DYN_AIC_ATTENTION_DP_SIZE | — | Размер attention data parallel для моделей, которым нужна MoE parallelism AIC |
Когда этот режим включён, встроенный KV router фронтенда прогнозирует ожидаемую длительность prefill для каждого принятого запроса, используя кэшированный префикс, полученный из overlap выбранного worker'а. Затем router учитывает на стороне prompt только самый старый активный prefill запрос на каждом worker'е.
Для MoE-моделей AIC требует aic_tp_size * aic_attention_dp_size == aic_moe_tp_size * aic_moe_ep_size.
Для Kimi-подобных MoE запусков только с TP, установите --aic-moe-tp-size
равным --aic-tp-size, а --aic-moe-ep-size 1 и --aic-attention-dp-size 1.
Отказоустойчивость
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--migration-limit | DYN_MIGRATION_LIMIT | 0 | Максимум миграций запроса при отключении worker'а. 0 = отключено |
--active-decode-blocks-threshold | DYN_ACTIVE_DECODE_BLOCKS_THRESHOLD | 1.0 | Доля использования KV cache (0.0–1.0) для определения занятости. Передайте None, чтобы отключить |
--active-prefill-tokens-threshold | DYN_ACTIVE_PREFILL_TOKENS_THRESHOLD | 10000000 | Абсолютное число токенов для определения занятости prefill. Передайте None, чтобы отключить |
--active-prefill-tokens-threshold-frac | DYN_ACTIVE_PREFILL_TOKENS_THRESHOLD_FRAC | 64.0 | Доля max_num_batched_tokens для определения занятости prefill. Работает по логике OR с абсолютным порогом. Передайте None, чтобы отключить |
--admission-control | DYN_ADMISSION_CONTROL | none | Режим контроля допуска. token-capacity применяет пороги занятости выше; none сбрасывает их. Очередь router'а по-прежнему управляется --router-queue-threshold |
Обнаружение модели
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--namespace | DYN_NAMESPACE | — | Точный namespace для области model discovery |
--namespace-prefix | DYN_NAMESPACE_PREFIX | — | Префикс namespace для discovery (например, ns соответствует ns, ns-abc123). Имеет приоритет над --namespace |
--model-name | DYN_MODEL_NAME | — | Переопределяет строку имени модели |
--model-path | DYN_MODEL_PATH | — | Путь к локальному каталогу модели (для private/custom models) |
--kv-cache-block-size | DYN_KV_CACHE_BLOCK_SIZE | — | Переопределение размера блока KV cache |
Инфраструктура
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--discovery-backend | DYN_DISCOVERY_BACKEND | etcd | Обнаружение сервисов: kubernetes, etcd, file, mem |
--request-plane | DYN_REQUEST_PLANE | tcp | Распределение запросов: tcp (самый быстрый), nats |
--event-plane | DYN_EVENT_PLANE | auto | Публикация событий: nats, zmq; по умолчанию zmq для discovery file/mem и nats для etcd/kubernetes |
KServe gRPC
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--kserve-grpc-server / --no-kserve-grpc-server | DYN_KSERVE_GRPC_SERVER | false | Запускает сервер KServe gRPC v2 |
--grpc-metrics-port | DYN_GRPC_METRICS_PORT | 8788 | HTTP-порт метрик для службы gRPC |
См. Руководство по Frontend для форматов сообщений KServe и деталей интеграции.
Мониторинг
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--metrics-prefix | DYN_METRICS_PREFIX | dynamo_frontend | Префикс метрик Prometheus для frontend |
--dump-config-to | DYN_DUMP_CONFIG_TO | — | Выгружает разрешённую конфигурацию в указанный файл |
Токенизатор
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--tokenizer | DYN_TOKENIZER | default | Токенизатор: default (HuggingFace) или fastokens (высокопроизводительный Rust tokenizer). См. Токенизатор |
Экспериментальное
| CLI-аргумент | Env Var | Значение по умолчанию | Описание |
|---|---|---|---|
--enable-anthropic-api | DYN_ENABLE_ANTHROPIC_API | false | Включает /v1/messages (Anthropic Messages API) |
--dyn-chat-processor | DYN_CHAT_PROCESSOR | dynamo | Обработчик чата: dynamo или vllm |
--dyn-debug-perf | DYN_DEBUG_PERF | false | Логирует тайминги по функциям для preprocessing (только processor vllm) |
--dyn-preprocess-workers | DYN_PREPROCESS_WORKERS | 0 | Worker-процессы для CPU-bound preprocessing. 0 = main event loop (только processor vllm) |
-i / --interactive | DYN_INTERACTIVE | false | Интерактивный текстовый режим чата |
HTTP-эндпоинты
Frontend предоставляет следующие HTTP-эндпоинты:
Совместимые с OpenAI
| Метод | Путь | Описание |
|---|---|---|
POST | /v1/chat/completions | Завершения чата (стриминговые и нестриминговые) |
POST | /v1/completions | Текстовые завершения |
POST | /v1/embeddings | Текстовые эмбеддинги |
POST | /v1/responses | Responses API |
POST | /v1/images/generations | Генерация изображений |
POST | /v1/videos/generations | Генерация видео |
POST | /v1/videos/generations/stream | Генерация видео (стриминг) |
GET | /v1/models | Список доступных моделей |
Anthropic (экспериментально)
| Метод | Путь | Описание |
|---|---|---|
POST | /v1/messages | Anthropic Messages API (требует --enable-anthropic-api) |
POST | /v1/messages/count_tokens | Подсчёт токенов для Anthropic API |
Инфраструктура
| Метод | Путь | Описание |
|---|---|---|
GET | /health | Проверка состояния |
GET | /live | Проверка liveness |
GET | /metrics | Метрики Prometheus |
GET | /openapi.json | Спецификация OpenAPI |
GET | /docs | Swagger UI |
POST | /busy_threshold | Установить пороги занятости |
GET | /busy_threshold | Получить текущие пороги занятости |
Настройка путей эндпоинтов
Все пути эндпоинтов можно переопределить через переменные окружения:
| Env Var | Путь по умолчанию |
|---|---|
DYN_HTTP_SVC_CHAT_PATH_ENV | /v1/chat/completions |
DYN_HTTP_SVC_CMP_PATH_ENV | /v1/completions |
DYN_HTTP_SVC_EMB_PATH_ENV | /v1/embeddings |
DYN_HTTP_SVC_RESPONSES_PATH_ENV | /v1/responses |
DYN_HTTP_SVC_MODELS_PATH_ENV | /v1/models |
DYN_HTTP_SVC_ANTHROPIC_PATH_ENV | /v1/messages |
DYN_HTTP_SVC_HEALTH_PATH_ENV | /health |
DYN_HTTP_SVC_LIVE_PATH_ENV | /live |
DYN_HTTP_SVC_METRICS_PATH_ENV | /metrics |
Устаревшее
| CLI-аргумент | Env Var | Описание |
|---|---|---|
--router-durable-kv-events | DYN_ROUTER_DURABLE_KV_EVENTS | Используйте вместо него локальный indexer из event-plane |
См. также
- Обзор Frontend — быстрый старт и матрица возможностей
- Руководство по Frontend — конфигурация KServe gRPC
- NVIDIA Request Extensions (nvext) — пользовательские поля запроса
- Конфигурация и настройка — подробная конфигурация маршрутизации
- Метрики — доступные метрики Prometheus
- Отказоустойчивость — миграция и отклонение запросов