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 面向相同領域,但目標是更乾淨、更易擴展,並能處理比純文字更廣泛的模態。
相關
- 專案
- 專案
- 專案
- 專案
- 專案