SMG: универсальный шлюз для интеграции языковых моделей

SMG: универсальный шлюз для интеграции языковых моделей

SMG — это универсальный шлюз для крупных языковых моделей, написанный на Rust. Проект позволяет легко интегрироваться с API различных моделей, таких как OpenAI и Anthropic, а также использовать gRPC для высокопроизводительных взаимодействий, что выделяет его среди альтернатив.

SMG решает задачу управления жизненным циклом рабочих процессов и балансировки нагрузки для развертывания LLM в больших масштабах. Благодаря поддержке кеширования и возможности работы с несколькими клиентами одновременно, он будет полезен разработчикам, работающим с языковыми моделями и нуждающимся в гибком решении для их интеграции. Для запуска достаточно установить зависимости и воспользоваться контейнером Docker, что упрощает развертывание.

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

Проект SMG (Shepherd Model Gateway) представляет собой высокопроизводительный шлюз для маршрутизации моделей, который не зависит от специфики конкретного движка. Он подходит для крупных развертываний LLM (больших языковых моделей) и предоставляет централизованное управление жизненным циклом рабочих процессов, балансировку нагрузки между самохостингом и облачными провайдерами, а также контроль за многоарендностью, хранением чатов и инструментами наблюдаемости.

SMG объединяет рабочие процессы за одним унифицированным API, что упрощает интеграцию различных моделей и сервисов.

Зачем нужен SMG?

  • Максимальная загрузка GPU: Использует кеш-ориентированное маршрутизирование, отслеживая состояние кеша каждого рабочего процесса.
  • Один API, любой бэкенд: Позволяет маршрутизировать запросы к самохостингам и популярным API, таким как OpenAI и другие.
  • Скорость: Написан на Rust с использованием потоковой передачи gRPC и кэширования.
  • Контроль для предприятий: Предоставляет возможность приоритета обработки, управление API-ключами и поддержку WebAssembly.
  • Полная наблюдаемость: Поддерживает более 90 метрик Prometheus и трассировку OpenTelemetry.

Быстрый старт

Для установки SMG выбери удобный метод:

# Docker
docker pull lightseekorg/smg:latest

# Kubernetes (Helm)
helm install smg oci://ghcr.io/smg-project/charts/smg

# Python
pip install smg

# Rust (нужен protoc)
cargo install smg

После установки запусти SMG, указав адреса своих рабочих процессов:

# Один рабочий
smg launch --worker-urls http://localhost:8000

# Несколько рабочих с кеш-ориентированным маршрутизированием
smg launch --worker-urls http://gpu1:8000 http://gpu2:8000 --policy cache_aware

# С сетевой высокой доступностью
smg launch --worker-urls http://gpu1:8000 --enable-mesh \
  --mesh-advertise-host 10.0.0.1 --mesh-peer-urls 10.0.0.2:39527

Отправь запросы через шлюз:

curl http://localhost:30000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "llama3", "messages": [{"role": "user", "content": "Hello!"}]}'

Теперь SMG балансирует нагрузки между твоими рабочими процессами.

Поддерживаемые бэкенды

  • Самохостящие движки: vLLM, SGLang, TokenSpeed, TensorRT-LLM, MLX и любые совместимые с OpenAI сервера.
  • Облачные провайдеры: OpenAI, Anthropic, Google Gemini, xAI и другие совместимые провайдеры.

Особенности

  • 10 политики маршрутизации: cache_aware, least_load, round_robin и другие.
  • gRPC Pipeline: Поддержка потокового gRPC к движкам с предварительной настройкой и распределением.
  • Интеграция MCP: Исполнение инструментов с утверждениями и ведением журнала.
  • История чатов: Плагинное хранилище с поддержкой PostgreSQL, Oracle, Redis.
  • Расширения через WASM: Возможность добавления пользовательской логики с помощью WebAssembly.

Документация

Подробная документация доступна на сайте lightseek.org/smg.

Как внести вклад

В проекте приветствуются внешние вклады. Ознакомься с руководством по внесению вклада для получения подробной информации.

Открыть на GitHub: smg-project/smg →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте