Repolode
smg-project

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. 1

    Установить через Docker

    docker pull lightseekorg/smg:latest
  2. 2

    Установить через Python

    pip install smg
  3. 3

    Запустить шлюз для подключения к вашим рабочим узлам инференса

    smg launch --worker-urls http://localhost:8000
  4. 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 обновляется ежедневно.

Похожие проекты

Локально-ориентированная среда на Rust, которая превращает coding-агентов вроде Claude Code и Codex в исследовательских агентов для обзора литературы, экспериментов и подготовки материалов.

7,4 тыс.493RustMITОбновлён вчера