Перейти к содержанию
modelium.
Начать с задачи
←
Абстрактная композиция: бумажные слои, складки и свет в оливковых тонах.

SGLang: установка и локальный сервер LLM

SGLang — сервер инференса для языковых и мультимодальных моделей, а не модель и не графический чат. Для первого локального теста подготовьте совместимый GPU, установите runtime в отдельном окружении, запустите конкретную модель на loopback-адресе и проверьте ответ через /v1/chat/completions. Успех команды не доказывает совместимость другой модели или достаточность памяти для рабочего контекста.

Проверено по первоисточникам 24 сентября 2026 года. Команды ниже — документированный путь, а не протокол запуска Modelium. Версия sglang==0.5.20 подтверждена PyPI s7, но рабочая связка с вашим драйвером, GPU и моделью устанавливается только на вашем стенде. Частотность запроса «sglang установка» не измерена.

Для чего нужен SGLang и когда его выбирать?

SGLang обслуживает запросы к загруженным языковым и мультимодальным моделям как сервер инференса. Разработчики описывают оптимизации планирования запросов, кэширования префикса и параллелизма; это возможности продукта, а не замер ускорения для вашего проекта s6. Он нужен, если несколько приложений должны обращаться к локальной модели по API и вы готовы администрировать отдельный сервер. Если нужен первый чат без серверной настройки, начните с маршрута выбора локальной LLM и сравните более простой клиент с серверным runtime. Поддержка семейства Qwen или Llama в списке не доказывает, что каждый чекпойнт и его квантование заведутся на любом железе s5.

Здесь конкретный результат: сервер слушает 127.0.0.1:30000, запрос к /v1/chat/completions возвращает HTTP-ответ с choices, а вы сохраняете реальные версии и модель. Не считайте надпись о запуске сервера доказательством работоспособности API и не путайте локальный endpoint с облачным сервисом.

Что проверить до установки?

Официальный quickstart для основного NVIDIA-пути называет Python 3.10+, Linux как рекомендуемую ОС и NVIDIA CUDA GPU уровня sm80+; отдельные инструкции существуют для AMD, CPU и других платформ s4. Это рамки одного quickstart, не универсальная минимальная конфигурация и не обещание работы с любым объёмом видеопамяти. В установочной инструкции текущей ветки есть отдельные примечания о CUDA и прежних сборках; сверяйте выбранную версию runtime с драйвером и библиотеками до установки, а не переносите рецепт NVIDIA на CPU или Mac s1. Для памяти важны конкретные веса, dtype/квант, контекст и число параллельных запросов; используйте методику оценки памяти, не размер файла как «минимум VRAM».

Для проверки возьмите одну модель. Quickstart SGLang использует qwen/qwen2.5-0.5b-instruct s4. Карточка автора Qwen/Qwen2.5-0.5B-Instruct описывает текстовую instruction-модель и указывает Apache-2.0; это отдельная лицензия весов, а не свойство всех моделей, которые может обслуживать SGLang s3. У runtime текст Apache License 2.0 находится в закреплённом LICENSE проекта s8. Перед рабочим использованием всё равно проверьте условия конкретных весов и зависимостей; юридический вывод для вашей организации здесь не делается.

Как установить и поднять сервер?

На подготовленном Linux с совместимым NVIDIA-стеком установите пакет в отдельном Python-окружении, не в системном интерпретаторе. Официальная инструкция допускает pip/uv; зафиксированная для этой страницы версия PyPI — 0.5.20 s1s7. Например, при уже установленном uv:

uv venv .venv
uv pip install --python .venv/bin/python --prerelease=allow 'sglang==0.5.20'
.venv/bin/sglang serve --model-path Qwen/Qwen2.5-0.5B-Instruct --host 127.0.0.1 --port 30000

Команда сервера следует форме sglang serve --model-path ... --host ... --port ... из quickstart; 127.0.0.1 вместо показанного там 0.0.0.0 — редакционная мера, чтобы не открывать тестовый API сети s4. Первый старт может скачать модель: предварительно оцените доступность HF, сеть, свободное место и условия использования. Не передавайте токен Hugging Face в публикацию, историю shell или URL. Точная ревизия карточки Qwen в источниках закреплена, но команда с именем модели без явного pin не закрепляет байты загружаемых весов s3. Для воспроизводимого пилота сохраните разрешённую ревизию загруженного snapshot и версию runtime отдельно.

Ожидаемое сообщение readiness в quickstart — The server is fired up and ready to roll!; после него документация указывает локальный Swagger по /docs s4. Это промежуточная проверка, а не финальная: API нужно вызвать отдельно. Другие платформы имеют собственные backend-условия; не заменяйте модель на Qwen 3.8, DeepSeek V4 или большой квант и не ожидайте того же потребления памяти.

Как проверить ответ API?

Из другого терминала на той же машине, пока сервер работает, отправьте документированный Chat Completions-запрос s4s2:

curl -sS -i http://127.0.0.1:30000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"Qwen/Qwen2.5-0.5B-Instruct","messages":[{"role":"user","content":"Ответь одним предложением: что такое локальный инференс?"}],"max_tokens":80}'

Проверьте фактический HTTP-статус и непустой choices[0].message.content; сохраните версию пакета, точный model ID из ответа/конфигурации, сведения о GPU и время. Если сервер возвращает ошибку по имени модели, сравните model в запросе с тем, как запущен --model-path; quickstart использует регистр qwen/qwen2.5-0.5b-instruct, а здесь выбран канонический путь HF s4s3. Не считайте любой HTTP 200 доказательством правильного ответа по вашей рабочей задаче: создайте несколько тестовых запросов на своих разрешённых синтетических данных и запишите ожидаемые критерии.

Для клиента, который говорит на OpenAI Chat Completions, документация показывает base_url вида http://127.0.0.1:30000/v1 и вызов chat.completions.create; не переносите автоматически поддержку всех полей облачного API на данную версию SGLang и выбранную модель s2. Тест без внешнего доступа после загрузки весов и сетевой журнал нужны отдельно, если вы заявляете закрытый контур.

Что делать, если сервер не стартовал?

  • Несовместимый GPU, драйвер или CUDA: вернитесь к условиям именно вашего пакета и платформенного гайда. Quickstart не охватывает каждый GPU; сообщения FlashInfer он предлагает разбирать через другой backend, но это диагностика, а не гарантия совместимости s4s1.
  • Ошибка CUDA_HOME is not set: в инструкции указан путь к установленному CUDA toolkit через CUDA_HOME; сначала установите и проверьте комплект соответствующей версии, не подставляйте вымышленный путь s1.
  • Загрузка модели или память: отличайте сетевую ошибку HF, неподходящий формат и нехватку памяти при загрузке/длинном контексте. Уменьшите задачу до документированного тестового чекпойнта и проверьте журнал сервера, прежде чем менять квант или увеличивать контекст s4s3.
  • Порт занят или клиент недоступен: проверьте, что сервер запущен, адрес и порт совпадают, а клиент находится на том же хосте. Для доступа из другой сети требуется осознанная конфигурация прокси, аутентификации и сетевых правил; менять --host на 0.0.0.0 ради «быстро починить» без контроля доступа нельзя. Публичный API без защит не рекомендуем; описанный loopback-тест не доказывает изоляции всех соседних сервисов.

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

Следующий шаг: сначала добейтесь собственного HTTP-ответа на loopback, сохраните ошибку, если тест не прошёл. Затем оцените память и контекст для вашей рабочей модели; если нужен выбор другого серверного стека, откройте vLLM и сравните на одинаковом чекпойнте, железе и запросах — без выдуманного рейтинга скорости.

Источники

  1. SGLang — Installation — pip/uv, отдельные платформы и замечания о CUDA; сырой s1.html.. Получено 24.09.2026.
  2. SGLang — OpenAI APIs: Completions — Chat Completions и Python-клиент; сырой s2.html.. Получено 24.09.2026.
  3. Qwen — Qwen2.5-0.5B-Instruct, фиксированная карточка — revision 7ae557604adf67be50417f59c2c2f167def9a775; Описание модели и лицензия в metadata; сырой s3.md, LICENSE той же ревизии сохранён отдельно.. Получено 24.09.2026.
  4. SGLang — Quickstart — Среда, запуск qwen/qwen2.5-0.5b-instruct, readiness и curl; сырой s4.html.. Получено 24.09.2026.
  5. SGLang — Supported models — Семейства генерации, embeddings и reranking, не гарантия конкретной ревизии; сырой s5.html.. Получено 24.09.2026.
  6. SGLang — README, закреплённый коммит — revision 77173ffb08e94e474a719c1efd01fa534131c6a8; Назначение проекта и диапазон сценариев; сырой s6.md.. Получено 24.09.2026.
  7. PyPI — sglang: версии и дата выпуска — info.version 0.5.20, requires_python >=3.10, upload_time_iso_8601 2026-09-18; сырой pypi.json.. Получено 24.09.2026.
  8. SGLang — LICENSE, закреплённый коммит — revision 77173ffb08e94e474a719c1efd01fa534131c6a8; Полный текст Apache-2.0; сырой license.txt.. Получено 24.09.2026.