01
Rust 在 AI 领域的定位与分工
Why Rust for AI · Python Trains, Rust Serves
先说一句大实话:训练模型还是 Python 的天下。PyTorch、Hugging Face transformers、Jupyter Notebook 这套研究工具链,Rust 短时间内追不上。但一旦模型训练完要上生产,Python 的问题就全暴露了——Rust 就是来接盘的。
论Python 做生产部署的五宗罪
一、慢。解释型语言,推理延迟比 C++ 高几倍。一个请求等模型,Python 还在那边解释字节码。
二、GIL。全局解释器锁,多线程也跑不满 CPU。想真并行只能起多进程,内存复制一堆。
三、依赖地狱。Python 版本、CUDA 版本、PyTorch 版本、模型版本互相打架,部署一次三天。
四、包体大。Python 解释器 + 依赖库动辄几百 MB,塞不进手机、塞不进边缘设备。
五、稳定性差。运行时类型错误、内存泄漏、服务崩溃——上线第一天就报警。
Rust + AI 技术栈全景图
┌─────────────────────────────────────────────────┐
│ 应用层(做产品,对标 Spring AI / LangChain) │
│ rig / genai / rmcp / async-openai │
│ Agent 编排 ChatClient 工具调用 RAG MCP │
├─────────────────────────────────────────────────┤
│ 服务层(暴露 API,对标 vLLM / Ollama) │
│ mistral.rs / llama-cpp-rs / 自建 Axum 推理服务 │
│ OpenAI 兼容 API 流式 SSE 连续批处理 │
├─────────────────────────────────────────────────┤
│ 推理层(跑模型,对标 PyTorch / transformers) │
│ candle 0.11(HF 纯 Rust) │
│ ort 2.x(ONNX Runtime 绑定) │
│ tch-rs 0.19(PyTorch 绑定) │
├─────────────────────────────────────────────────┤
│ 数据层(预处理,对标 NumPy / Pandas) │
│ polars 1.x(DataFrame) │
│ ndarray 0.16(多维数组) │
│ tokenizers 0.19(HF 分词器) │
├─────────────────────────────────────────────────┤
│ 存储层 │
│ qdrant(向量数据库)/ sqlx(业务库) │
├─────────────────────────────────────────────────┤
│ 跨端层 │
│ Tauri 2.0(Rust 后端 + Web 前端,包体 ~3MB) │
└─────────────────────────────────────────────────┘
Python vs Rust 在 AI 中的分工
| 环节 | Python | Rust |
|---|---|---|
| 研究 / 训练 | PyTorch、transformers、Jupyter 全家桶,无可替代 | 基本不碰 |
| 推理部署 | 慢、GIL、依赖乱 | candle / ort / mistral.rs,延迟低、包体小 |
| 数据预处理 | Pandas(慢、吃内存) | polars,多线程、更快更省 |
| 边缘 / 移动端 | Python 解释器塞不进去 | candle 交叉编译 + Tauri,单二进制 |
| 高并发推理服务 | FastAPI + 多进程,GC 抖动 | Axum + 连续批处理,无 GC 停顿 |
记
本章小结
① Python 做研究,Rust 做生产——这是 2026 年 AI 部署的标准分工。
② Rust AI 栈分五层:应用层 / 服务层 / 推理层 / 数据层 / 存储层 / 跨端层。
③ 推理三剑客:candle(大模型)、ort(多模态 ONNX)、tch-rs(PyTorch 原生)。