Чтобы получить чистое Markdown-содержимое этой страницы, добавьте .md к этому URL. Полный индекс документации см. на https://docs.nvidia.com/dynamo/llms.txt. Полное содержимое, включая справочник API и примеры SDK, см. на https://docs.nvidia.com/dynamo/llms-full.txt.
Frontend
Frontend в Dynamo — это API-шлюз для обслуживания запросов инференса LLM. Он предоставляет HTTP-эндпоинты, совместимые с OpenAI, и эндпоинты KServe gRPC, выполняя предварительную обработку запросов, маршрутизацию и форматирование ответов.
Матрица возможностей
| Возможность | Статус |
|---|---|
OpenAI Chat Completions API (/v1/chat/completions) | ✅ Поддерживается |
OpenAI Completions API (/v1/completions) | ✅ Поддерживается |
OpenAI Embeddings API (/v1/embeddings) | ✅ Поддерживается |
OpenAI Responses API (/v1/responses) | ✅ Поддерживается |
OpenAI Models API (/v1/models) | ✅ Поддерживается |
Генерация изображений (/v1/images/generations) | ✅ Поддерживается |
Генерация видео (/v1/videos/generations) | ✅ Поддерживается |
Anthropic Messages API (/v1/messages) | 🧪 Экспериментально |
| KServe gRPC v2 API | ✅ Поддерживается |
| Потоковые ответы (SSE) | ✅ Поддерживается |
| Обслуживание нескольких моделей | ✅ Поддерживается |
| Встроенная маршрутизация с учетом KV | ✅ Поддерживается |
| Вызов инструментов | ✅ Поддерживается |
| TLS (HTTPS) | ✅ Поддерживается |
Swagger UI (/docs) | ✅ Поддерживается |
Расширения запросов NVIDIA (nvext) | ✅ Поддерживается |
Быстрый старт
Предварительные требования
- Установленная платформа Dynamo
- Запущенные
etcdиnats-server -js - Зарегистрирован хотя бы один backend worker
HTTP Frontend
python -m dynamo.frontend --http-port 8000
Эта команда запускает HTTP-сервер, совместимый с OpenAI, со встроенной предварительной и последующей обработкой, а также маршрутизацией. Бэкенды обнаруживаются автоматически, когда вызывают register_model.
Frontend выполняет предварительную и последующую обработку. Для этого ему нужен доступ к файлам конфигурации модели: config.json, tokenizer.json, tokenizer_config.json и т. д. Веса ему не нужны.
Frontend загрузит нужные файлы из Hugging Face, дополнительная настройка не требуется. Однако мы рекомендуем настроить modelexpress-server и общую папку, например Kubernetes PVC. Это гарантирует, что модель будет загружена только один раз для всего кластера.
Если модель недоступна в Hugging Face, например это приватная или измененная модель, нужно сделать файлы модели локально доступными по тому же пути, что и на бэкенде. Путь из --model-path <here> бэкенда должен существовать на frontend и содержать как минимум файлы конфигурации (JSON).
KServe gRPC Frontend
python -m dynamo.frontend --kserve-grpc-server
Конфигурацию и форматы сообщений, специфичные для KServe, см. в руководстве по Frontend.
Kubernetes
apiVersion: nvidia.com/v1alpha1
kind: DynamoGraphDeployment
metadata:
name: frontend-example
spec:
graphs:
- name: frontend
replicas: 1
services:
- name: Frontend
image: nvcr.io/nvidia/dynamo/dynamo-vllm:latest
command:
- python
- -m
- dynamo.frontend
- --http-port
- "8000"
Configuration
| Параметр | Значение по умолчанию | Описание |
|---|---|---|
--http-port | 8000 | Порт HTTP-сервера |
--kserve-grpc-server | false | Включить сервер KServe gRPC |
--router-mode | round-robin | Стратегия маршрутизации: round-robin, random, kv, direct, least-loaded, device-aware-weighted (power-of-two и least-loaded используют синхронный резервный prefill в режиме дезагрегированного prefill) |
Полный список параметров конфигурации см. в руководстве по Frontend.
Следующие шаги
| Документ | Описание |
|---|---|
| Справочник по конфигурации | Все аргументы CLI, env vars и HTTP-эндпоинты |
| Руководство по Frontend | Конфигурация и интеграция KServe gRPC |
| Расширения запросов NVIDIA (nvext) | Пользовательские поля запроса для подсказок маршрутизации и управления кэшем |
| Документация Router | Конфигурация маршрутизации с учетом KV |