vLLM Qwen — это открытая модель семейства Qwen, запущенная на вашем сервере движком vLLM и доступная приложениям по адресу, совместимому с OpenAI. Запуск занимает вечер, а настоящая работа начинается после него: проверка на русских задачах, замер задержки при одновременных запросах и контроль ответов. Связка подходит командам, у которых данные нельзя отдавать вовне и есть человек, готовый сверять результат.

Модель и сервер

TL;DR

Qwen запускают через vLLM командой vllm serve, а приложения обращаются к нему по OpenAI-совместимым адресам. Сервер отдаёт список моделей и метрики, а качество на русском проверяют собственным набором задач.

Qwen и vLLM занимают разные места в цепочке. Qwen — семейство моделей с открытыми весами, vLLM — сервер, который эти веса загружает и отвечает на запросы. Поэтому выбор состоит из двух вопросов: какую модель семейства брать и хватает ли вашего железа на выбранный размер вместе с нагрузкой.

Состав семейства, размеры и режимы мы разбирали в статье Qwen3: что нового и какую модель выбрать, запуск на одном компьютере — в материале Qwen локально, контейнер для vLLM — в статье vLLM Docker. Здесь конкретная связка: что делать после запуска, чтобы принять решение по замерам и проверкам на собственных данных.

По блогу Qwen, у третьего поколения есть режим рассуждения и быстрый режим, а лицензия Apache 2.0. Для поздних выпусков режимы иногда выносят в отдельные модели, поэтому перед запуском открывайте карточку конкретной модели и документацию vLLM: поддержка архитектуры зависит от версии сервера.

Запуск Qwen

Запуск стоит разложить на шаги, где каждый подтверждается проверкой. Тогда сбой легко локализовать.

  1. Проверьте в карточке модели архитектуру и убедитесь, что установленная версия vLLM её поддерживает; сомнения снимает пробный запуск на маленькой модели семейства.
  2. Запустите сервер командой vllm serve с именем модели, ограничением контекста под ваши задачи и ключом доступа.
  3. Запросите список моделей по адресу /v1/models и сверьте имя, которое понадобится в запросах.
  4. Отправьте короткий чат-запрос на русском языке и убедитесь, что шаблон чата работает и ответ завершается корректно.
  5. Откройте метрики на /metrics и запишите исходные значения занятости памяти до начала нагрузки.

Ключ доступа включайте с первого дня, даже если сервер стоит внутри сети. Он защищает от случайных обращений и позволяет различать приложения: у каждого свой ключ, и при утечке один отзывается без остановки остальных. Храните ключи в защищённом хранилище и держите их вне репозитория.

Размер модели выбирайте по запасу памяти: максимум, который кое-как поместился, плохой ориентир. Модель, занявшая почти всю видеопамять, оставит мало места для параллельных запросов, и при первой же нагрузке сервер начнёт сбоить. Лучше взять размер поменьше и оставить запас на контекст и очередь.

Если вы привыкли к Ollama, сравнение подходов описано в материале про запуск через Ollama. vLLM ориентирован на серверную работу: конфигурация у него сложнее, а выигрыш при нескольких одновременных запросах подтверждается только замером.

Русские задачи

Качество на русском языке нельзя принять на веру: модель из семейства может хорошо справляться с общими вопросами и ошибаться в вашей терминологии. Проверка идёт на собственных задачах.

Тип задачиПример запросаЧто оценивать
Деловое письмоОтвет клиенту на жалобу по заданным фактамТон, полнота, отсутствие выдуманных обещаний
Работа с документомВыдержка из договора и вопрос по сроку оплатыВерность ответа и совпадение с текстом
РасчётЗадача с несколькими шагами и проверяемым числомПравильность результата и хода
ТерминологияВопрос на профессиональном жаргоне вашей отраслиВерное употребление терминов
ФорматОтвет строго по заданной таблице или полямСледование шаблону без добавлений

Следите за длиной ответа и обрезкой. Когда лимит на длину слишком мал, ответ обрывается на полуслове, и пользователь принимает недописанное за готовое. Проверьте на длинных задачах, что ответ завершается, и задайте разумный предел с запасом под объёмные тексты.

Для каждой задачи запишите эталонный ответ или критерий проверки до запуска. Тогда оценка опирается на заданные критерии, а настроение проверяющего остаётся за рамками оценки. Десятка-другого задач достаточно для первой картины, но по одной эффектной демонстрации судить нельзя.

Если нужен режим рассуждения, подробности его проверки разобраны в статье Qwen3 thinking. Он повышает время и расход токенов, поэтому включают его там, где окупается.

Нагрузка и задержка

Одиночный запрос о работе под нагрузкой сообщает мало. Сервер, который отвечает быстро одному пользователю, может заметно замедлиться при десяти одновременных запросах.

  • Время до первого слова: показатель отзывчивости, его пользователь замечает сразу.
  • Общая длительность ответа: зависит от длины и от того, сколько запросов обрабатывается параллельно.
  • Параллельность: как растёт задержка при увеличении числа одновременных запросов.
  • Очередь: рост очереди на метриках сигнализирует о пределе сервера.
  • Память: запас под контекст и всплески, иначе возможны сбои при длинных запросах.

Учитывайте и разницу между режимами. Рассуждающий ответ занимает сервер заметно дольше быстрого, и смесь двух режимов в одной очереди искажает замеры. Тестируйте режимы раздельно, а в рабочем контуре при возможности разводите их по разным очередям или моделям.

Прогон делайте скриптом: серия запросов с растущим числом одновременных, запись времени и значений метрик. Остановитесь там, где задержка становится неприемлемой для вашего сценария, и запишите это число как рабочий предел, а в документации по нагрузке укажите дату замера и версию сервера. Если пик выше предела, нужна очередь, второй сервер или модель поменьше.

● Discovery · 1 час · бесплатно

Сколько одновременных пользователей будет у вашего сервера?

Прийти на Discovery →

Контроль ответа

Открытая модель на своём сервере отвечает уверенно, даже когда ошибается. Контроль ответа встраивают в процесс, оставляя пользователю лишь финальное решение.

  • Эталонный набор: контрольные вопросы с известными ответами прогоняются после каждого обновления модели или сервера.
  • Проверка по источникам: для ответов по документам требуйте ссылку на фрагмент и сверяйте её.
  • Журнал: сохраняйте запрос, ответ, версию модели и параметры, чтобы разбирать сомнительные случаи.
  • Границы задач: перечислите, где ответ принимается без проверки, а где его читает человек.
  • Версия: фиксируйте версию модели и сервера, иначе изменение результата останется необъяснимым.
// граница ответа

Модель готовит черновик, решение принимает человек. Для договоров, расчётов и обращений к клиентам итоговую проверку выполняет специалист, а результат записывается рядом с ответом.

Помните и про обновления. Новая версия vLLM или модели способна изменить скорость и качество, поэтому после каждого обновления прогоняйте контрольный набор и сравнивайте с прежними значениями. Откат на предыдущую версию должен занимать минуты, а для этого держите старый образ и старые веса под рукой.

Проверку нагрузки, выбор модели и контроль ответов собирают в единый процесс в проектах по внедрению ИИ в компанию. Для данных, которые можно отдавать вовне, запасным вариантом остаётся сервис вендора напрямую с его условиями.

Частые вопросы

Как запустить Qwen через vLLM?
Проверьте поддержку архитектуры в версии vLLM, запустите сервер командой vllm serve с именем модели и ограничением контекста, затем проверьте список моделей по адресу /v1/models и отправьте тестовый запрос.
Совместим ли vLLM с запросами в формате OpenAI?
Да, по документации vLLM сервер отдаёт OpenAI-совместимые адреса для чата, продолжения текста и эмбеддингов. Приложение меняет только адрес и имя модели.
Как проверить Qwen на русском языке?
Соберите набор своих задач: письма, документы, расчёты, терминология. Для каждой запишите эталонный ответ или критерий и оцените верность, полноту и следование формату.
Как измерить нагрузку на сервер vLLM?
Запустите серию запросов с растущим числом одновременных, записывайте время до первого слова, длительность ответа и метрики на /metrics, найдите точку, где задержка перестаёт быть приемлемой.
Нужен ли режим рассуждения Qwen?
Он повышает качество на сложных задачах, но увеличивает время и расход токенов. Включайте его там, где результат окупает задержку, проверив на своём наборе.