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

Чтобы получить чистый 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-hostDYN_HTTP_HOST0.0.0.0Адрес для HTTP-прослушивания
--http-portDYN_HTTP_PORT8000Порт для HTTP-прослушивания
--tls-cert-pathDYN_TLS_CERT_PATHПуть к TLS-сертификату (PEM). Используется только вместе с --tls-key-path
--tls-key-pathDYN_TLS_KEY_PATHПуть к TLS-приватному ключу (PEM). Используется только вместе с --tls-cert-path

HTTP-сервер на Rust также читает эти переменные окружения (они не доступны как CLI-аргументы):

Env VarЗначение по умолчаниюОписание
DYN_HTTP_BODY_LIMIT_MB192Максимальный размер тела запроса в МБ
DYN_HTTP_GRACEFUL_SHUTDOWN_TIMEOUT_SECS5Таймаут корректного завершения в секундах

Маршрутизация

CLI-аргументEnv VarЗначение по умолчаниюОписание
--router-modeDYN_ROUTER_MODEround-robinСтратегия маршрутизации: round-robin, random, kv, direct, least-loaded, device-aware-weighted
--load-aware / --no-load-awareDYN_ROUTER_LOAD_AWAREfalseПресет для KV load-aware маршрутизации без сигналов cache reuse; подразумевает --router-mode kv
--router-kv-overlap-score-creditDYN_ROUTER_KV_OVERLAP_SCORE_CREDIT1.0Множитель кредита за локальное на устройстве перекрытие префикса, от 0.0 до 1.0
--router-prefill-load-scaleDYN_ROUTER_PREFILL_LOAD_SCALE1.0Масштабирует скорректированную нагрузку prefill на стороне prompt перед добавлением блоков decode
--router-temperatureDYN_ROUTER_TEMPERATURE0.0Температура softmax для нормализованной выборки worker'ов. 0 = детерминированно
--router-kv-events / --no-router-kv-eventsDYN_ROUTER_USE_KV_EVENTStrueВключает события состояния KV cache от worker'ов. Отключите для маршрутизации на основе предсказаний
--router-ttl-secsDYN_ROUTER_TTL_SECS120.0TTL блока, когда KV events отключены
--router-replica-sync / --no-router-replica-syncDYN_ROUTER_REPLICA_SYNCfalseСинхронизирует состояние между несколькими экземплярами router'а
--router-snapshot-thresholdDYN_ROUTER_SNAPSHOT_THRESHOLD1000000Количество сообщений до создания snapshot'а
--router-reset-states / --no-router-reset-statesDYN_ROUTER_RESET_STATESfalseСбрасывает состояние router'а при запуске. Внимание: влияет на существующие replicas
--router-track-active-blocks / --no-router-track-active-blocksDYN_ROUTER_TRACK_ACTIVE_BLOCKStrueОтслеживает блоки, используемые выполняющимися запросами, для балансировки нагрузки
--router-assume-kv-reuse / --no-router-assume-kv-reuseDYN_ROUTER_ASSUME_KV_REUSEtrueПредполагает повторное использование KV cache при отслеживании активных блоков
--router-track-output-blocks / --no-router-track-output-blocksDYN_ROUTER_TRACK_OUTPUT_BLOCKSfalseОтслеживает output blocks с дробным затуханием во время генерации
--router-track-prefill-tokens / --no-router-track-prefill-tokensDYN_ROUTER_TRACK_PREFILL_TOKENStrueУчитывает нагрузку prefill на стороне prompt в расчёте нагрузки worker'а
--router-prefill-load-modelDYN_ROUTER_PREFILL_LOAD_MODELnoneМодель нагрузки на стороне prompt: none для статической нагрузки, aic для затухания oldest-prefill на основе прогноза AIC
--router-event-threadsDYN_ROUTER_EVENT_THREADS4Потоки worker'а для KV indexer. Значение >1 включает concurrent radix tree, в том числе при --no-router-kv-events
--router-queue-thresholdDYN_ROUTER_QUEUE_THRESHOLD16.0Порог очереди как доля prefill capacity. Включает приоритетное планирование
--router-queue-policyDYN_ROUTER_QUEUE_POLICYfcfsПолитика планирования очереди: fcfs (tail TTFT), wspt (средний TTFT) или lcfs (обратный порядок только для сравнения)
--decode-fallback / --no-decode-fallbackDYN_DECODE_FALLBACKfalseПереключается на aggregated mode, когда prefill worker'ы недоступны

Модель AIC для нагрузки prefill

Эти параметры используются только когда --router-mode kv сочетается с --router-prefill-load-model aic.

CLI-аргументEnv VarЗначение по умолчаниюОписание
--aic-backendDYN_AIC_BACKENDСемейство backend'а, которое нужно моделировать в AIC, например vllm или sglang
--aic-systemDYN_AIC_SYSTEMИдентификатор оборудования/системы AIC, например h200_sxm
--aic-model-pathDYN_AIC_MODEL_PATHПуть к модели или идентификатор модели, используемый для поиска производительности в AIC
--aic-backend-versionDYN_AIC_BACKEND_VERSIONзависит от backend'аЗакреплённая версия базы AIC. Если не указано, Dynamo использует значение по умолчанию backend'а
--aic-tp-sizeDYN_AIC_TP_SIZE1Размер tensor parallel, который нужно моделировать в AIC
--aic-moe-tp-sizeDYN_AIC_MOE_TP_SIZEРазмер MoE tensor parallel для моделей, которым нужна MoE parallelism AIC
--aic-moe-ep-sizeDYN_AIC_MOE_EP_SIZEРазмер MoE expert parallel для моделей, которым нужна MoE parallelism AIC
--aic-attention-dp-sizeDYN_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-limitDYN_MIGRATION_LIMIT0Максимум миграций запроса при отключении worker'а. 0 = отключено
--active-decode-blocks-thresholdDYN_ACTIVE_DECODE_BLOCKS_THRESHOLD1.0Доля использования KV cache (0.0–1.0) для определения занятости. Передайте None, чтобы отключить
--active-prefill-tokens-thresholdDYN_ACTIVE_PREFILL_TOKENS_THRESHOLD10000000Абсолютное число токенов для определения занятости prefill. Передайте None, чтобы отключить
--active-prefill-tokens-threshold-fracDYN_ACTIVE_PREFILL_TOKENS_THRESHOLD_FRAC64.0Доля max_num_batched_tokens для определения занятости prefill. Работает по логике OR с абсолютным порогом. Передайте None, чтобы отключить
--admission-controlDYN_ADMISSION_CONTROLnoneРежим контроля допуска. token-capacity применяет пороги занятости выше; none сбрасывает их. Очередь router'а по-прежнему управляется --router-queue-threshold

Обнаружение модели

CLI-аргументEnv VarЗначение по умолчаниюОписание
--namespaceDYN_NAMESPACEТочный namespace для области model discovery
--namespace-prefixDYN_NAMESPACE_PREFIXПрефикс namespace для discovery (например, ns соответствует ns, ns-abc123). Имеет приоритет над --namespace
--model-nameDYN_MODEL_NAMEПереопределяет строку имени модели
--model-pathDYN_MODEL_PATHПуть к локальному каталогу модели (для private/custom models)
--kv-cache-block-sizeDYN_KV_CACHE_BLOCK_SIZEПереопределение размера блока KV cache

Инфраструктура

CLI-аргументEnv VarЗначение по умолчаниюОписание
--discovery-backendDYN_DISCOVERY_BACKENDetcdОбнаружение сервисов: kubernetes, etcd, file, mem
--request-planeDYN_REQUEST_PLANEtcpРаспределение запросов: tcp (самый быстрый), nats
--event-planeDYN_EVENT_PLANEautoПубликация событий: nats, zmq; по умолчанию zmq для discovery file/mem и nats для etcd/kubernetes

KServe gRPC

CLI-аргументEnv VarЗначение по умолчаниюОписание
--kserve-grpc-server / --no-kserve-grpc-serverDYN_KSERVE_GRPC_SERVERfalseЗапускает сервер KServe gRPC v2
--grpc-metrics-portDYN_GRPC_METRICS_PORT8788HTTP-порт метрик для службы gRPC

См. Руководство по Frontend для форматов сообщений KServe и деталей интеграции.

Мониторинг

CLI-аргументEnv VarЗначение по умолчаниюОписание
--metrics-prefixDYN_METRICS_PREFIXdynamo_frontendПрефикс метрик Prometheus для frontend
--dump-config-toDYN_DUMP_CONFIG_TOВыгружает разрешённую конфигурацию в указанный файл

Токенизатор

CLI-аргументEnv VarЗначение по умолчаниюОписание
--tokenizerDYN_TOKENIZERdefaultТокенизатор: default (HuggingFace) или fastokens (высокопроизводительный Rust tokenizer). См. Токенизатор

Экспериментальное

CLI-аргументEnv VarЗначение по умолчаниюОписание
--enable-anthropic-apiDYN_ENABLE_ANTHROPIC_APIfalseВключает /v1/messages (Anthropic Messages API)
--dyn-chat-processorDYN_CHAT_PROCESSORdynamoОбработчик чата: dynamo или vllm
--dyn-debug-perfDYN_DEBUG_PERFfalseЛогирует тайминги по функциям для preprocessing (только processor vllm)
--dyn-preprocess-workersDYN_PREPROCESS_WORKERS0Worker-процессы для CPU-bound preprocessing. 0 = main event loop (только processor vllm)
-i / --interactiveDYN_INTERACTIVEfalseИнтерактивный текстовый режим чата

HTTP-эндпоинты

Frontend предоставляет следующие HTTP-эндпоинты:

Совместимые с OpenAI

МетодПутьОписание
POST/v1/chat/completionsЗавершения чата (стриминговые и нестриминговые)
POST/v1/completionsТекстовые завершения
POST/v1/embeddingsТекстовые эмбеддинги
POST/v1/responsesResponses API
POST/v1/images/generationsГенерация изображений
POST/v1/videos/generationsГенерация видео
POST/v1/videos/generations/streamГенерация видео (стриминг)
GET/v1/modelsСписок доступных моделей

Anthropic (экспериментально)

МетодПутьОписание
POST/v1/messagesAnthropic 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/docsSwagger 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-eventsDYN_ROUTER_DURABLE_KV_EVENTSИспользуйте вместо него локальный indexer из event-plane

См. также