COMRAD404 / HOWTO

6 лучших inference-серверов для локальных моделей

Разбираем 6 inference-серверов для локальных моделей: vLLM, Ollama, llama.cpp, SGLang, TensorRT-LLM и TGI. Сценарии выбора, ограничения, API-совместимость и честный вердикт без синтетических бенчмарков.

Короткий ответ:

🥇 Для GPU-сервинга с OpenAI-совместимым API: vLLM — проект позиционируется как high-throughput и memory-efficient inference/serving engine для LLM и даёт HTTP server, совместимый с OpenAI Completions и Chat Completions API.

🥈 Для самого простого локального запуска: Ollama — самый прямой путь к локальному API и простому workflow; по умолчанию локальный API использует http://localhost:11434/api.

🥉 Для CPU, GGUF и лёгкого self-hosting: llama.cpp — fast, lightweight, pure C/C++ HTTP server для F16 и quantized моделей на CPU и GPU, с OpenAI-compatible и Anthropic Messages-compatible режимами.

Если вам нужен практический вывод в одну строку: для новых GPU-установок разумно сначала смотреть на vLLM или SGLang, для простого локального старта — на Ollama, для CPU/GGUF — на llama.cpp. TGI сегодня стоит держать скорее как legacy-вариант для существующих инсталляций, потому что официальный репозиторий и документация прямо отмечают maintenance mode.

Как отбирали

  • Задача: выбрать inference-серверы именно для локальных моделей, а не desktop-клиенты, облачные API или UI-оболочки.
  • Аудитория: разработчики, MLOps-инженеры, исследователи и команды, которым нужен локальный server layer для LLM.
  • Дата среза: 2026-08-15.
  • Критерии допуска: официальный проект с документацией или репозиторием; явный server/use case для локального inference; подтверждённый API или режим serving.
  • Критерии исключения: desktop-приложения без фокуса на server layer; managed cloud endpoints; проекты без подтверждённой документации в source pack.
  • Способ проверки: сверили официальные репозитории и документацию из source pack; собственные latency/throughput-бенчмарки в этот материал не включали.
  • Партнёрские отношения: в предоставленном source pack не заявлены.

Редакционное ограничение: здесь нет синтетического сравнения производительности на одинаковом железе. Для vLLM, SGLang, TensorRT-LLM и TGI релизы и матрицы совместимости меняются быстро, поэтому перед внедрением сверяйте текущие release notes и документацию для конкретной версии.

Сводная таблица

Название Кому подходит Ключевая фишка Цена Недостаток Ссылка
vLLM GPU-optimized OpenAI-compatible serving для локальных LLM High-throughput и memory-efficient engine плюс HTTP server для OpenAI Completions и Chat Completions В source pack не проверялась; смотрите официальный проект --api-key не покрывает все endpoints; /invocations остаётся без аутентификации → Официальный проект
Ollama Самый простой локальный workflow и локальный API Простой локальный API; по умолчанию база http://localhost:11434/api В source pack не проверялась; смотрите официальный проект OpenAI compatibility частичная; Responses API поддерживается только в non-stateful варианте → Официальный проект
llama.cpp CPU-first и GGUF-quantized локальный inference Lightweight C/C++ HTTP server для F16 и quantized моделей на CPU и GPU В source pack не проверялась; смотрите официальный проект Больше ручной настройки и проверки совместимости → Обзор на COMRAD404
SGLang High-throughput multi-GPU и multimodal serving Поддержка OpenAI-Compatible APIs, Ollama API, Offline Engine API и Native API В source pack не проверялась; смотрите официальный проект Setup сложнее; FlashInfer требует sm75+ → Официальный проект
TensorRT-LLM NVIDIA GPU-ориентированный serving с упором на оптимизацию trtllm-serve запускает OpenAI-compatible server В source pack не проверялась; смотрите официальный проект NVIDIA-centric; TensorRT backend удалён, актуальный execution backend — PyTorch → Официальный проект
Text Generation Inference (TGI) Существующие Hugging Face/TGI deployment Подходит как совместимый экосистемный вариант для уже работающих инсталляций В source pack не проверялась; смотрите официальный проект Проект находится в maintenance mode → Официальный проект

vLLM

  • Кому подходит: если вам нужен OpenAI-compatible HTTP layer поверх локальной GPU-модели и вы целитесь в высокий throughput.
  • Сильная сторона: проект описывает себя как high-throughput и memory-efficient inference/serving engine для LLM. В документации есть HTTP server, совместимый с OpenAI Completions и Chat Completions API, а в RELEASE.md отдельно указана регулярность релизов примерно раз в две недели.
  • Ограничение: защита через --api-key покрывает только OpenAI-compatible /v1 endpoints и связанные /v2//inference, но не все остальные endpoints; /invocations остаётся без аутентификации. Для production нужен дополнительный hardening.
  • Цена: в source pack не проверялась; смотрите официальный проект (срез 2026-08-15).
  • Ссылка: → Официальный проект

Ollama

  • Кому подходит: если вам нужен самый простой локальный workflow с pull/run моделей и локальным API без долгого разворачивания серверного стека.
  • Сильная сторона: документация явно разделяет локальный API и cloud API: локально по умолчанию используется http://localhost:11434/api, для cloud — https://ollama.com/api. Для быстрого старта это один из самых понятных вариантов в подборке.
  • Ограничение: OpenAI compatibility у Ollama частичная: поддерживаются chat completions, completions, models, embeddings и responses, но Responses API работает только в non-stateful варианте. Плюс сама документация отмечает, что API не является строго версионированным, хотя ожидается обратная совместимость и deprecations публикуются в release notes.
  • Цена: в source pack не проверялась; смотрите официальный проект (срез 2026-08-15).
  • Ссылка: → Официальный проект

llama.cpp

  • Кому подходит: если у вас CPU-first сценарий, GGUF-стек или вам нужен очень лёгкий локальный сервер для F16 и quantized моделей.
  • Сильная сторона: server в llama.cpp описан как fast, lightweight, pure C/C++ HTTP server для F16 и quantized моделей на GPU и CPU. Он поддерживает OpenAI-compatible chat completions, responses и embeddings, а также Anthropic Messages-compatible chat completions. В примерах используется адрес 127.0.0.1:8080.
  • Ограничение: возможностей много, но в практическом разворачивании обычно больше ручной настройки и проверки совместимости, чем в максимально упрощённых локальных оболочках. Если вам нужен отдельный разбор этого стека, смотрите карточку llama.cpp на COMRAD404.
  • Цена: в source pack не проверялась; смотрите официальный проект (срез 2026-08-15).
  • Ссылка: → Полный обзор

SGLang

  • Кому подходит: если вы строите high-throughput multi-GPU или multimodal serving и вам нужен более широкий набор API-режимов.
  • Сильная сторона: SGLang описан как high-performance serving framework для large language и multimodal models с упором на low-latency и high-throughput inference. В Basic Usage перечислены OpenAI-Compatible APIs, Ollama API, Offline Engine API и Native API.
  • Ограничение: setup сложнее, чем у максимально простых локальных вариантов. Отдельно учитывайте, что по документации FlashInfer поддерживает только sm75 и выше.
  • Цена: в source pack не проверялась; смотрите официальный проект (срез 2026-08-15).
  • Ссылка: → Официальный проект

TensorRT-LLM

  • Кому подходит: если у вас NVIDIA-centric стек и вы хотите OpenAI-compatible server в экосистеме TensorRT-LLM.
  • Сильная сторона: quick start прямо указывает, что trtllm-serve запускает OpenAI-compatible server. Это делает проект понятным кандидатом для тех, кто строит локальный serving вокруг NVIDIA GPU.
  • Ограничение: релизные заметки фиксируют важное изменение: TensorRT backend удалён, и PyTorch теперь является единственным execution backend. Это нужно учитывать при миграции старых инструкций и существующих инсталляций.
  • Цена: в source pack не проверялась; смотрите официальный проект (срез 2026-08-15).
  • Ссылка: → Официальный проект

Text Generation Inference (TGI)

  • Кому подходит: прежде всего тем, у кого уже есть Hugging Face/TGI deployment или совместимая внутренняя инфраструктура.
  • Сильная сторона: TGI остаётся понятным экосистемным вариантом для legacy-сценариев, где важнее не новый старт с нуля, а совместимость с уже работающей установкой.
  • Ограничение: официальный репозиторий и документация отмечают maintenance mode. Более того, документация прямо направляет пользователей к альтернативным движкам вроде vLLM, SGLang и llama.cpp, поэтому для новых локальных инсталляций это уже не базовый выбор.
  • Цена: в source pack не проверялась; смотрите официальный проект (срез 2026-08-15).
  • Ссылка: → Официальный проект

Как выбрать: по железу, API и уровню внедрения

По железу

  • CPU или GGUF: начинайте с llama.cpp. Это профильный вариант для лёгкого локального inference, особенно если вы работаете с quantized-моделями или компактными сборками после дистилляции моделей.
  • GPU-serving общего назначения: в первую очередь смотрите на vLLM и SGLang. Оба проекта прямо позиционируются как serving-движки с акцентом на производительность.
  • NVIDIA-centric стек: TensorRT-LLM стоит проверять отдельно, особенно если вы хотите остаться в этом GPU-контуре и готовы учитывать актуальный backend-статус из release notes.
  • Нужен минимум трения на локальной машине: Ollama обычно проще всего поднять и подключить к локальному workflow.

По API-совместимости

  • Нужен OpenAI-style клиентский путь: в короткий список попадают vLLM, llama.cpp, TensorRT-LLM и SGLang.
  • Нужна совместимость с Ollama API: смотрите на Ollama и SGLang, потому что документация SGLang отдельно перечисляет такой тип API.
  • Нужен Anthropic Messages-compatible режим: из проверенных источников это явно заявлено для llama.cpp.
  • Важно помнить: наличие отметки OpenAI-compatible не означает полную drop-in совместимость со всеми клиентами и всеми endpoint-ами. Это прямо отмечено среди неопределённостей source pack.

По уровню внедрения

  • Новый локальный проект: если вы не хотите начинать с legacy-стека, выбирайте между Ollama, llama.cpp, vLLM и SGLang по железу и API.
  • Существующий TGI deployment: TGI можно оставлять как совместимый вариант, но план миграции теперь выглядит разумным, потому что проект в maintenance mode.
  • Если вам пока нужен не сервер, а настольный клиент: сначала посмотрите лучшие инструменты для локального запуска моделей и сравнение LM Studio vs Jan.ai. Это другой уровень стека, и его часто путают с inference-сервером.

Практический вердикт

Если вы выбираете один сервер на старт и не хотите ошибиться по классу решения, логика обычно такая: Ollama — для простого локального API, llama.cpp — для CPU/GGUF и лёгкого self-hosting, vLLM — для GPU-serving с OpenAI-style интерфейсом, SGLang — когда нужен более широкий API-слой и multimodal/multi-GPU контур, TensorRT-LLM — когда вы уже сознательно идёте в NVIDIA-centric стек. TGI я бы не брал как первый выбор для новой локальной установки без сильной причины.

Практический лимит этой подборки: без собственных тестов на вашем железе нельзя честно назвать один сервер «лучшим вообще». Здесь есть только надёжный shortlist по документации и текущему статусу проектов на 2026-08-15.

Кого не включили и почему

Поимённый список исключений здесь сознательно ограничен: в source pack проверены только шесть семейств серверов. Поэтому ниже — классы решений, которые мы не смешивали с inference-серверами.

  • Desktop GUI для локальных моделей: исключили, потому что это подборка про server layer, а не про интерфейсы для чата и загрузки моделей.
  • Managed cloud endpoints: не соответствуют критерию локального inference.
  • Неподтверждённые форки и экспериментальные обёртки: не прошли критерий проверяемости по официальной документации в source pack.
  • Серверы без подтверждённого HTTP/API-слоя в проверенных источниках: не вошли, потому что в этой подборке нужен именно практический serving endpoint.

Как выбрать самостоятельно

  • На каком железе вы реально будете запускаться: CPU, mixed CPU/GPU или NVIDIA GPU?
  • Нужен ли вам именно OpenAI-compatible API, или достаточно локального собственного API?
  • Нужен ли multimodal serving или хватит текстового LLM-сервера?
  • Насколько критична простота первого запуска по сравнению с гибкостью и ручной настройкой?
  • Вы запускаете новый проект или поддерживаете существующий стек, например TGI?

Источники

Вопросы и ответы

Какой inference-сервер проще всего поднять локально?

Если смотреть только на текущий source pack, самый низкий порог входа у Ollama. Если же вам нужен больший контроль над CPU/GGUF-стеком, тогда логичнее смотреть на llama.cpp.

Что выбрать для CPU и квантованных моделей?

llama.cpp — самый очевидный кандидат в этой подборке. Его server прямо описан как lightweight HTTP server для F16 и quantized моделей на CPU и GPU.

Можно ли считать OpenAI-compatible полной гарантией совместимости?

Нет. В source pack отдельно отмечено, что API-совместимость не означает полную drop-in совместимость со всеми клиентами и всеми endpoint-ами. Проверяйте именно те методы, которые использует ваше приложение.

Подходит ли vLLM для production без дополнительной защиты?

Не стоит считать это самоочевидным. Документация по безопасности прямо говорит, что --api-key в vLLM не покрывает все endpoints, а /invocations остаётся без аутентификации, поэтому нужен дополнительный hardening.

Стоит ли начинать новый проект с TGI?

Скорее нет, если у вас нет причины держаться за существующий стек. И репозиторий, и документация TGI подтверждают maintenance mode и указывают на альтернативы вроде vLLM, SGLang и llama.cpp.

Источники

SOURCES

Вопросы и ответы

FAQ
Какой inference-сервер проще всего поднять локально?

По текущему source pack самый низкий порог входа у Ollama. Для CPU/GGUF и большего контроля логичнее смотреть на llama.cpp.

Что выбрать для CPU и квантованных моделей?

llama.cpp — самый профильный вариант в этой подборке: его server описан как lightweight HTTP server для F16 и quantized моделей на CPU и GPU.

Можно ли считать OpenAI-compatible полной гарантией совместимости?

Нет. В source pack отдельно отмечено, что совместимость по API не означает полное покрытие всех клиентов и всех endpoint-ов.

Подходит ли vLLM для production без дополнительной защиты?

Не как самоочевидный вариант. Документация по безопасности указывает, что --api-key не покрывает все endpoints, а /invocations остаётся без аутентификации.

Стоит ли начинать новый проект с TGI?

Скорее нет без сильной причины: TGI находится в maintenance mode, а документация направляет пользователей к vLLM, SGLang и llama.cpp.

Читайте также

LINKS