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

Как запустить gpt-oss с vLLM

vLLM — это open-source движок для высокопроизводительного инференса, разработанный для эффективного обслуживания больших языковых моделей (LLM) за счёт оптимизации использования памяти и скорости обработки. В этом руководстве описано, как использовать vLLM для настройки gpt-oss-20b или gpt-oss-120b на сервере и запускать gpt-oss в виде API для ваших приложений, а также подключать его к Agents SDK.

Обратите внимание, что это руководство предназначено для серверных приложений с выделенными GPU, например NVIDIA H100. Для локального инференса на потребительских GPU смотрите наши руководства по Ollama или LM Studio.

Выберите модель

vLLM поддерживает обе модели gpt-oss:

  • openai/gpt-oss-20b
    • Модель меньшего размера
    • Требует примерно 16 ГБ VRAM
  • openai/gpt-oss-120b
    • Наш полноразмерный большой вариант
    • Рекомендуется для ≥60 ГБ VRAM
    • Может работать на одном H100 или в конфигурациях с несколькими GPU

Обе модели идут с квантованием MXFP4 из коробки.

Быстрая настройка

  1. Установите vLLM
    vLLM рекомендует использовать uv для управления вашим Python окружением. Это поможет подобрать подходящую реализацию под вашу среду. Подробнее в их quickstart. Чтобы создать новое виртуальное окружение и установить vLLM, выполните:

<<<FENCE_0>>>

  1. Запустите сервер и скачайте модель
    vLLM предоставляет команду serve, которая автоматически загрузит модель с HuggingFace и запустит совместимый с OpenAI сервер на localhost:8000. Запустите команду с нужным размером модели в терминале на вашем сервере.

<<<FENCE_1>>>

Использование API

vLLM предоставляет API, совместимое с Chat Completions и Responses, чтобы вы могли использовать OpenAI SDK с минимальными изменениями. Пример на Python:

<<<FENCE_2>>>

Если вы уже работали с OpenAI SDK, это покажется вам знакомым, и ваш существующий код будет работать, если изменить только базовый URL.

Использование инструментов (вызов функций)

vLLM поддерживает вызов функций и обладает возможностями работы с браузером.

Вызов функций работает через оба API: Responses и Chat Completions.

Пример вызова функции через Chat Completions:

<<<FENCE_3>>>

Так как модели могут использовать вызов инструментов как часть цепочки рассуждений (CoT), важно возвращать логику, полученную из API, в последующий вызов функции для предоставления ответа до тех пор, пока модель не придёт к окончательному выводу.

Интеграция с Agents SDK

Хотите использовать gpt-oss с OpenAI Agents SDK?

Оба Agents SDK позволяют переопределить базовый клиент OpenAI для указания на vLLM для ваших моделей с саморазвёртыванием. Альтернативно, для Python SDK вы также можете воспользоваться LiteLLM интеграцией для проксирования к vLLM.

Пример на Python с использованием Agents SDK:

<<<FENCE_4>>>

<<<FENCE_5>>>

Использование vLLM для прямого сэмплирования

Помимо запуска vLLM как API сервера vllm serve, вы можете использовать Python-библиотеку vLLM для управления инференсом напрямую.

Если вы используете vLLM для сэмплирования напрямую, важно, чтобы ваши входные подсказки следовали формату ответа harmony, иначе модель будет работать некорректно. Для этого можно использовать openai-harmony SDK.

<<<FENCE_6>>>

После этого вы можете использовать harmony для кодирования и разбора токенов, сгенерированных функцией generate из vLLM.

<<<FENCE_7>>>