lucasjinreal/Crane
A Pure Rust based LLM, VLM, VLA, TTS, OCR Inference Engine, powering by Candle & Rust. Alternate to your llama.cpp but much more simpler and cleaner..
Crane – 基于 Rust、Candle 驱动的推理引擎
是什么
- Crane(基于 Candle 的 Rust 加速神经引擎)是一个开源框架,用于高速运行大语言模型(LLMs)和多模态模型(视觉、OCR、语音转文本、文本转语音、音乐转录等)。
- 它基于用 Rust 编写的 Candle 张量库,为 CPU、NVIDIA CUDA、Apple Metal 和实验性 AMD ROCm 后端提供快速的底层内核。
- 该项目包含三个 crate:
- crane-core – 实现模型加载器、分词器、生成逻辑和自定义内核的库。
- crane – 展示如何使用核心库的一系列示例二进制文件(聊天、VLM、OCR、TTS 等)。
- crane-serve – 一个 OpenAI 兼容的 HTTP 服务器(也支持 SGLang),公开聊天、补全、语音、以及其他端点。
主要卖点(如 README 所述)
- 速度 – 声称在 Apple Silicon 上比原生 PyTorch 快达 50 倍,在 GPU 上比 llama.cpp 快数倍,得益于融合内核、KV 缓存量化和内核启动减少。
- 纯 Rust 代码库 – 避免 C++ 复杂性,同时仍提供原生性能。
- 跨平台 – 一个代码路径可在 CPU、CUDA GPU、Metal GPU(macOS)和实验性 ROCm GPU 上运行。
- OpenAI 兼容 API – 服务器实现了
/v1/chat/completions、/v1/completions、/v1/audio/speech、分词端点以及 SGLang 特定路由,因此现有客户端库无需修改即可与其通信。 - 模型支持 – 原生支持多种最新模型,包括 Qwen 3.5/3.6/3.8(最大 27B)、Qwen 2.5、Gemma 4、PaddleOCR-VL、MuScriptor(音乐转录)、各种 TTS 模型、ASR、VAD 等。模型可直接从 GGUF 文件加载,或从 safetensors 检查点加载并进行即时量化(
--quant q4k|q8_0|…)。 - 轻松添加新模型 – 大多数模型只需不到 100 行 Rust 代码即可接入,因为架构可从 GGUF 头部自动检测。
典型工作流程
- 安装 Rust(稳定工具链)。
- 使用适当的特性标志构建所需二进制文件:
# 仅 CPU cargo build --release # macOS Metal + Accelerate cargo build --release --features "metal,accelerate" # NVIDIA CUDA cargo build --release --features cuda # AMD ROCm(实验性) cargo build --release --features rocm - 通过
huggingface-cli下载模型(例如 Qwen2.5-0.5B-Instruct),或将 GGUF 文件放入文件夹。 - 运行演示 – 例如聊天二进制文件:
cargo run --bin qwenchat --release - 或启动服务器:
./target/release/crane --model-path /path/to/model # 然后从 Python、curl 或任何 OpenAI 兼容 SDK 调用
Rust 代码片段示例(来自 README)展示了使用 Qwen2.5 模型的最小端到端聊天,演示了如何:
- 加载分词器和模型。
- 使用
apply_chat_template准备提示。 - 配置生成参数(最大 token 数、温度、top-p 等)。
- 将生成的文本流式返回控制台。
为何选择 Crane
- 如果你已经熟悉 Rust,并希望在推理中使用单一语言栈。
- 如果你需要在 Apple Silicon 上实现快速推理,而无需折腾 GGUF 转换工具。
- 如果你需要一个可直接替换的 OpenAI 兼容服务器,同时支持视觉、OCR、ASR 和 TTS 端点。
- 如果你正在实验新的量化或自定义内核,并更倾向于使用 Rust 为中心的代码库。
当前限制(如所注明)
- ROCm 后端为实验性,仅在密集模型上测试过。
- 多序列批处理有限(某些 VLM 后端
max_concurrent=1)。 - 某些高级功能(如 flash-style attention)仍为待办事项(TODO)。
总结 Crane 是一个真正、活跃维护的 AI 推理框架,专注于速度、可移植性和 Rust 优先的开发体验。它与 llama.cpp 面向相同领域,但目标是更整洁、更易扩展,并能处理比纯文本更广泛的模态。
相关
- 项目
- 项目
- 项目
- 项目
- 项目