Python-защита без зависимостей, кроме numpy, выявляет сбои декодирования LLM — например, зацикливание и смену языка — и обрывает поток до показа некорректного текста.
smg-project/smg
Не зависящий от движка шлюз для LLM на Rust, который маршрутизирует запросы в форматах OpenAI и Anthropic между локальными серверами инференса и облачными провайдерами моделей.
- Звёзды
- 633
- Форки
- 195
- Открытые issues
- 172
- Последний коммит
- 18 часов назад
Что это?
SMG (Shepherd Model Gateway) — шлюз маршрутизации моделей, который располагается перед серверами инференса LLM и облачными провайдерами и предоставляет к ним единый endpoint. Он управляет жизненным циклом рабочих узлов, распределяет трафик между vLLM, SGLang, TensorRT-LLM, TokenSpeed, MLX и любым сервером с совместимостью с OpenAI, а также может перенаправлять запросы в OpenAI, Anthropic, Gemini, xAI, AWS Bedrock и Azure OpenAI.
Для локальных движков маршрутизатор отслеживает состояние KV-кэша с помощью radix tree, чтобы запросы с общим префиксом попадали на один и тот же рабочий узел, и поддерживает разделение prefill/decode через собственный конвейер gRPC. Среди эксплуатационных возможностей — обнаружение pod в Kubernetes, автоматические выключатели, ограничение частоты запросов, приоритетное планирование допуска и метрики Prometheus с трассировкой OpenTelemetry.
Шлюз также поддерживает хранение истории чатов (PostgreSQL, Oracle, Redis или в памяти), выполнение инструментов MCP, аутентификацию по API-ключу и OIDC, а также плагины WebAssembly для обработки запросов по заданным правилам.
Ключевые возможности
- 01Единые API-endpoint в стиле OpenAI, Anthropic и Gemini для локальных и облачных бэкендов.
- 02Маршрутизация с учётом кэша и ещё девять политик балансировки нагрузки.
- 03Собственный конвейер gRPC с разделением prefill/decode и encode.
- 04Обнаружение pod в Kubernetes и высокодоступная mesh-сеть для развёртываний на нескольких узлах.
- 05Выполнение инструментов MCP, а также парсеры вызовов инструментов и рассуждений для множества открытых моделей.
- 06Метрики Prometheus, трассировка OpenTelemetry и плагины WebAssembly.
Сценарии использования
- Балансировка запросов между парком GPU-серверов с vLLM или SGLang.
- Предоставление единого endpoint, совместимого с OpenAI, для локальных движков и размещённых в облаке моделей.
- Добавление аутентификации, управления несколькими арендаторами и истории чатов в сервис LLM.
- Запуск платформы маршрутизируемого инференса в Kubernetes с автоматическим обнаружением рабочих узлов.
Быстрый старт
- 1
Установить через Docker
docker pull lightseekorg/smg:latest - 2
Установить через Python
pip install smg - 3
Запустить шлюз для подключения к вашим рабочим узлам инференса
smg launch --worker-urls http://localhost:8000 - 4
Отправить запрос чата на шлюз
curl http://localhost:30000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "llama3", "messages": [{"role": "user", "content": "Hello!"}]}'
Что важно знать
- Для работы требуется как минимум один существующий рабочий узел инференса или облачный провайдер, на который можно направлять запросы.
- В README не указано, есть ли стабильный релиз, поэтому между версиями возможны изменения.
Темы
Частые вопросы
- Что такое smg?
- Не зависящий от движка шлюз для LLM на Rust, который маршрутизирует запросы в форматах OpenAI и Anthropic между локальными серверами инференса и облачными провайдерами моделей. SMG (Shepherd Model Gateway) — шлюз маршрутизации моделей, который располагается перед серверами инференса LLM и облачными провайдерами и предоставляет к ним единый endpoint. Он управляет жизненным циклом рабочих узлов, распределяет трафик между vLLM, SGLang, TensorRT-LLM, TokenSpeed, MLX и любым сервером с совместимостью с OpenAI, а также может перенаправлять запросы в OpenAI, Anthropic, Gemini, xAI, AWS Bedrock и Azure OpenAI.
- smg можно использовать бесплатно? Какая у него лицензия?
- smg распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- smg всё ещё поддерживается?
- Активно поддерживается. Последний коммит в smg — 19 окт. 2026 г..
- Для чего можно использовать smg?
- Балансировка запросов между парком GPU-серверов с vLLM или SGLang. Предоставление единого endpoint, совместимого с OpenAI, для локальных движков и размещённых в облаке моделей. Добавление аутентификации, управления несколькими арендаторами и истории чатов в сервис LLM. Запуск платформы маршрутизируемого инференса в Kubernetes с автоматическим обнаружением рабочих узлов.
- Как установить smg?
- Установить через Docker: docker pull lightseekorg/smg:latest Установить через Python: pip install smg Запустить шлюз для подключения к вашим рабочим узлам инференса: smg launch --worker-urls http://localhost:8000 Отправить запрос чата на шлюз: curl http://localhost:30000/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "llama3", "messages": [{"role": "user", "content": "Hello!"}]}'
- Где скачать smg?
- Исходный код и инструкции по установке — на GitHub: https://github.com/smg-project/smg
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
CLI-прокси, который фильтрует и сжимает вывод команд оболочки до того, как он попадёт в контекст AI-агента для программирования, сокращая расход токенов.
Самостоятельно размещаемая чат-платформа в стиле ChatGPT с поддержкой разных AI-провайдеров, Agents, MCP, Artifacts и авторизацией нескольких пользователей.
Терминальный агент для программирования со встроенными инструментами LSP, отладчика, браузера и субагентов; поддерживает более 60 провайдеров моделей.
Локально-ориентированная среда на Rust, которая превращает coding-агентов вроде Claude Code и Codex в исследовательских агентов для обзора литературы, экспериментов и подготовки материалов.
Локальный inference-сервер, который через OpenAI-совместимый API обслуживает модели эмбеддингов, reranking, OCR, извлечения данных, безопасности и LLM из одного кластера.