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

Чтобы получить чистое 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-port8000Порт HTTP-сервера
--kserve-grpc-serverfalseВключить сервер KServe gRPC
--router-moderound-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