Repolode
smg-project

smg-project/smg

Rust製のエンジン非依存LLMゲートウェイ。OpenAIおよびAnthropic互換のトラフィックを、自前の推論エンジンやクラウドモデルプロバイダーへルーティングします。

スター
633
フォーク
195
未解決の Issue
172
最終コミット
17 時間前

これは何?

SMG(Shepherd Model Gateway)は、LLM推論サーバーやクラウドプロバイダーの前段に配置し、それらを単一のエンドポイント経由で利用できるようにするモデルルーティングゲートウェイです。ワーカーのライフサイクルを管理し、vLLM、SGLang、TensorRT-LLM、TokenSpeed、MLX、およびOpenAI互換サーバー全般にトラフィックを分散します。また、OpenAI、Anthropic、Gemini、xAI、AWS Bedrock、Azure OpenAIへのリクエスト転送にも対応しています。

自前の推論エンジンでは、ルーターがradix treeを使ってKVキャッシュの状態を追跡し、同じプレフィックスを持つリクエストを同一のワーカーに振り分けます。また、ネイティブのgRPCパイプラインを介したprefill/decode disaggregationにも対応しています。運用機能として、Kubernetesポッドの検出、サーキットブレーカー、レート制限、優先度に基づく受付スケジューリング、OpenTelemetryトレーシング付きのPrometheusメトリクスを備えています。

さらに、チャット履歴の保存(PostgreSQL、Oracle、Redis、またはメモリ内)、MCPツールの実行、APIキー認証とOIDC認証、リクエスト処理をカスタマイズするWebAssemblyプラグインにも対応しています。

主な機能

  • 01自前環境とクラウドのバックエンドにまたがる、OpenAI、Anthropic、Gemini形式の統一APIエンドポイント。
  • 02キャッシュを考慮したルーティングと、その他9種類のロードバランシングポリシー。
  • 03prefill/decodeおよびencodeのdisaggregationに対応するネイティブgRPCパイプライン。
  • 04複数ノード構成向けのKubernetesポッド検出と高可用性メッシュ。
  • 05MCPツールの実行、および多くのオープンモデル向けのツール呼び出し・reasoningパーサー。
  • 06Prometheusメトリクス、OpenTelemetryトレーシング、WebAssemblyプラグイン。

ユースケース

  • vLLMまたはSGLangを実行するGPUサーバー群にリクエストを分散する。
  • ローカルの推論エンジンとホスト型クラウドモデルの両方を前段に置く、単一の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!"}]}'

使う前に知っておきたいこと

  • 実行するには、ルーティング先となる既存の推論ワーカーまたはクラウドプロバイダーが少なくとも1つ必要です。
  • READMEには安定版のリリース状況が記載されていないため、バージョン間で変更がある可能性があります。

トピック

よくある質問

smg とは?
Rust製のエンジン非依存LLMゲートウェイ。OpenAIおよびAnthropic互換のトラフィックを、自前の推論エンジンやクラウドモデルプロバイダーへルーティングします。 SMG(Shepherd Model Gateway)は、LLM推論サーバーやクラウドプロバイダーの前段に配置し、それらを単一のエンドポイント経由で利用できるようにするモデルルーティングゲートウェイです。ワーカーのライフサイクルを管理し、vLLM、SGLang、TensorRT-LLM、TokenSpeed、MLX、およびOpenAI互換サーバー全般にトラフィックを分散します。また、OpenAI、Anthropic、Gemini、xAI、AWS Bedrock、Azure OpenAIへのリクエスト転送にも対応しています。
smg は無料で使えますか?ライセンスは?
smg は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
smg は今もメンテナンスされていますか?
活発にメンテナンス中。smg の最終コミットは 2026年10月19日 です。
smg は何に使えますか?
vLLMまたはSGLangを実行するGPUサーバー群にリクエストを分散する。 ローカルの推論エンジンとホスト型クラウドモデルの両方を前段に置く、単一の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 をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト