纯 numpy 的 Python 守卫库,在 LLM 流式输出过程中实时检测重复循环、语言漂移等解码损坏并及时中止。
smg-project/smg
用 Rust 编写的引擎无关 LLM 网关,将兼容 OpenAI 和 Anthropic 的请求分发到自部署推理引擎与云端模型服务。
- Star
- 633
- Fork
- 195
- 未关闭 Issue
- 172
- 最近提交
- 18小时前
这是什么?
SMG(Shepherd Model Gateway)是一个模型路由网关,位于 LLM 推理服务和云端模型供应商之前,通过统一的入口对外提供服务。它负责管理 worker 生命周期,在 vLLM、SGLang、TensorRT-LLM、TokenSpeed、MLX 以及任意 OpenAI 兼容服务之间分配流量,也可以把请求转发到 OpenAI、Anthropic、Gemini、xAI、AWS Bedrock 和 Azure OpenAI。
对于自部署引擎,网关使用基数树(radix tree)跟踪 KV 缓存状态,让共享相同前缀的请求尽量落到同一 worker 上,并通过原生 gRPC 管线支持 prefill/decode 分离。运维方面,它支持 Kubernetes Pod 发现、熔断、限流、优先级准入调度,并提供 Prometheus 指标与 OpenTelemetry 链路追踪。
此外,项目还支持多种聊天记录存储(PostgreSQL、Oracle、Redis 或内存)、MCP 工具执行、API Key 与 OIDC 认证,以及用于自定义请求处理的 WebAssembly 插件。
核心功能
- 01为自部署和云端后端提供统一的 OpenAI、Anthropic、Gemini 风格 API 接口。
- 02支持基于 KV 缓存感知的路由,以及另外九种负载均衡策略。
- 03原生 gRPC 管线,支持 prefill/decode 与 encode 分离。
- 04支持 Kubernetes Pod 自动发现,以及多节点高可用网格部署。
- 05支持 MCP 工具执行,并为多种开源模型提供工具调用与推理内容解析。
- 06提供 Prometheus 指标、OpenTelemetry 链路追踪和 WebAssembly 插件。
适用场景
- 在多台运行 vLLM 或 SGLang 的 GPU 服务器之间做负载均衡。
- 用一个 OpenAI 兼容入口同时对接本地引擎和云端托管模型。
- 为 LLM 服务增加认证、多租户控制和聊天记录存储。
- 在 Kubernetes 上部署带自动 worker 发现的推理路由平台。
快速上手
- 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 是什么?
- 用 Rust 编写的引擎无关 LLM 网关,将兼容 OpenAI 和 Anthropic 的请求分发到自部署推理引擎与云端模型服务。 SMG(Shepherd Model Gateway)是一个模型路由网关,位于 LLM 推理服务和云端模型供应商之前,通过统一的入口对外提供服务。它负责管理 worker 生命周期,在 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 上部署带自动 worker 发现的推理路由平台。
- 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
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
命令行代理工具,在 AI 编程助手读取 shell 命令输出前进行过滤和压缩,减少 token 消耗。
可自托管的类 ChatGPT 聊天平台,统一接入多家 AI 模型服务,支持 Agent、MCP 与多用户登录。
终端编程智能体,内置 LSP、调试器、浏览器和子智能体,支持 60 多家模型服务商。
本地优先的 Rust 工具,可将 Claude Code、Codex 等编码智能体转为科研智能体,用于文献调研与实验。
自托管推理服务器,通过兼容 OpenAI 的 API 在一个集群中提供嵌入、重排序、OCR、抽取和大模型等多种模型。