Repolode
Michael-A-Kuykendall

Michael-A-Kuykendall/shimmy

纯 Rust 编写的单文件推理服务,基于 WebGPU 在各类 GPU 上运行 GGUF 模型,并提供 OpenAI 兼容接口。

Star
5,988
Fork
587
未关闭 Issue
10
最近提交
4天前

这是什么?

Shimmy 是一个本地推理服务,可加载 GGUF 格式的模型,并提供 OpenAI 兼容的接口,现有工具和 SDK 只需修改地址即可接入。它以单个二进制文件发布,不依赖 Python 运行时或 C++ 工具链。

底层由 Airframe 引擎驱动,这是一个用 Rust 编写的 Transformer 引擎,通过 WebGPU 执行 WGSL 计算着色器,支持 NVIDIA、AMD、Intel 显卡、集成显卡以及 Apple Silicon。项目列出了 12 个模型家族下的 26 种已认证模型与量化组合,涵盖 Llama、Qwen、Phi、Gemma、DeepSeek-R1 蒸馏版等。

此外,它提供 INT4 KV 缓存选项(TurboShimmy)以降低显存占用,可通过 SHIMMY_MAX_CTX 启用 YaRN RoPE 缩放以扩展上下文长度,并且相同模型、随机种子和参数下输出可复现。

核心功能

  • 01通过 OpenAI 风格的接口提供聊天补全、文本补全、流式输出和模型列表。
  • 02直接加载 GGUF 模型,模型规格从 GGUF 元数据自动推导。
  • 03基于 WebGPU 运行,支持 NVIDIA、AMD、Intel 显卡及 Apple Silicon,无需指定后端参数。
  • 04提供 INT4 KV 缓存选项,降低小显存 GPU 的内存占用。
  • 05支持 YaRN RoPE 缩放,用于扩展上下文窗口。
  • 06提供命令行工具,用于启动服务和列出模型。

适用场景

  • 为已支持 OpenAI API 的工具搭建私有、离线的聊天后端。
  • 在消费级笔记本或台式机的 GPU 上运行小型量化模型。
  • 在没有 Python 或 C++ 构建环境的机器上部署独立的推理程序。
  • 用本地 OpenAI 兼容接口对应用进行开发与测试。

快速上手

  1. 1

    使用 Cargo 安装 Shimmy

    cargo install shimmy --locked
  2. 2

    使用本地 GGUF 模型文件启动服务器

    shimmy serve --model-path /absolute/path/to/model.gguf --bind 127.0.0.1:11435

使用前须知

  • 只有 GGUF 模型完整支持原生推理;SafeTensors 的原生推理仍在路线图中。
  • README 仅列出 26 种经认证的模型与量化组合,其他模型可能未经认证。
  • README 写的是 MIT 许可证,而元数据显示为 Apache-2.0,使用前请查看 LICENSE 文件确认。

标签

常见问题

shimmy 是什么?
纯 Rust 编写的单文件推理服务,基于 WebGPU 在各类 GPU 上运行 GGUF 模型,并提供 OpenAI 兼容接口。 Shimmy 是一个本地推理服务,可加载 GGUF 格式的模型,并提供 OpenAI 兼容的接口,现有工具和 SDK 只需修改地址即可接入。它以单个二进制文件发布,不依赖 Python 运行时或 C++ 工具链。
shimmy 可以免费使用吗?用的什么许可证?
shimmy 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
shimmy 还在维护吗?
活跃维护中。shimmy 最近一次提交是在 2026年10月19日。
shimmy 适合用来做什么?
为已支持 OpenAI API 的工具搭建私有、离线的聊天后端。 在消费级笔记本或台式机的 GPU 上运行小型量化模型。 在没有 Python 或 C++ 构建环境的机器上部署独立的推理程序。 用本地 OpenAI 兼容接口对应用进行开发与测试。
shimmy 怎么安装和运行?
使用 Cargo 安装 Shimmy: cargo install shimmy --locked 使用本地 GGUF 模型文件启动服务器: shimmy serve --model-path /absolute/path/to/model.gguf --bind 127.0.0.1:11435
在哪里获取 shimmy?
源代码和安装说明在 GitHub 上:https://github.com/Michael-A-Kuykendall/shimmy

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目