高效、易用的 LLM 推理引擎 · 基于 Rust + Candle
| Phase | 名称 | 状态 |
|---|---|---|
| 1 | 核心推理引擎 | ✅ 已完成 |
| 2 | 生成质量 | ✅ 已完成 |
| 3 | I/O 优化 | ✅ 已完成 |
| 4 | 性能优化 | ✅ 已完成 |
| 5 | 生产就绪 | ✅ 已完成 |
| 6 | 多模型支持 | ✅ 已完成 |
| 7 | API 完善 | ✅ 已完成 |
| 8 | 安全与监控 | ✅ 已完成 |
| 功能 | 描述 |
|---|---|
| Continuous Batching | 连续批处理,动态调度 |
| Paged KV Cache | 分页 KV 缓存,LRU 淘汰 |
| Prefix Caching | 前缀缓存 (完整匹配 + 前缀命中) |
| Speculative Decoding | 投机解码架构 |
- Beam Search 实现
- Beam size 配置
- Length penalty
- Early stopping
- Temperature 控制
- Top-K Sampling
- Top-P (Nucleus) Sampling
- Repeat Penalty
- 多候选结果返回
- 候选评分
- Server-Sent Events (SSE)
- 首 Token 快速返回
- 流式 Tokenizer
- HuggingFace Tokenizer
- TikToken 支持
- tokenizer.json 加载
- 最大 Token 限制
- Prompt 长度验证
- Min/Max tokens 验证
- FP16 支持
- INT8 Weight-Only 量化
- INT8 KV Cache
- 量化校准工具
- Flash Attention 框架
- Tiled Attention
- CUDA Graph 框架
- Prefill/Decode 分离 (PD 分离)
- Chunked Prefill
- 动态 Batch Size
- 优先级调度
- 多 GPU 张量并行
- Pipeline 并行 🚧
- 分布式 KV Cache 🚧
- Metrics 收集 (
/v1/stats) - Prometheus 导出 (
/metrics) - Grafana Dashboard
- 延迟/吞吐量追踪
- 结构化日志 (JSON)
- 日志级别控制
- 请求 ID 追踪
- 健康检查 (
/health) - 就绪检查 (
/ready) - 优雅关闭
- 请求超时
- 错误重试
- CLI 参数 (
--config=) - 配置文件 (YAML)
- 环境变量
- 配置验证
| 模型 | 架构 | 状态 |
|---|---|---|
| Qwen2.5-0.5B | GQA + RoPE | ✅ |
| Qwen3-0.6B | GQA + RoPE + QK-Norm | ✅ |
| DeepSeek-R1-8B | GQA + MoE | ✅ |
| Qwen3.5-0.8B (Mamba) | Mamba SSM + Attention | ✅ |
| Llama | GQA + RMSNorm | ✅ |
| Mistral | Sliding Window + GQA | ✅ |
| Gemma4 | Hybrid Attention | ✅ |
| Mixtral | Sparse MoE (8 experts) | ✅ |
-
tie_word_embeddings支持 -
q_norm/k_norm支持 - RoPE YARN scaling
- 自定义
head_dim支持
-
Architecturetrait 动态抽象 -
ArchitectureRegistry注册表 - 新架构 3 步添加流程
- 每个架构独立模块和测试
-
--modelCLI 参数 - 模型热插拔 (通过 CLI 参数)
- 模型版本管理 (通过 HF Hub)
-
/v1/chat/completions -
/v1/completions -
/v1/embeddings - Streaming 支持
-
POST /v1/batches- 创建任务 -
GET /v1/batches- 列出任务 -
GET /v1/batches/:id- 查询状态 -
GET /v1/batches/:id/results- 获取结果
-
/health- 健康检查 -
/metrics- Prometheus 指标 -
/shutdown- 关闭服务
- API Key 认证 (Bearer token)
- Rate Limiting (per-key)
- 请求验证
- Prometheus 指标
- 延迟/吞吐量追踪
- 调度器指标
- 结构化日志
- 请求 ID 追踪
注: TLS/SSL、多租户隔离、审计日志等企业特性由外部组件处理 (nginx、监控系统)
| 功能 | 描述 | 状态 |
|---|---|---|
| Cargo.toml 优化 | tokio features 精确化, release profile 优化 | ✅ |
| Feature Flags | cuda/gguf/real_weights 可选 | ✅ |
| 共享组件层 | attention, mlp, norm, positional 子模块 | ✅ |
| TransformerBlock | 基类设计, 支持组合模式 | ✅ |
| core→model 解耦 | vllm-core 对 vllm-model 可选依赖 | ✅ |
| 文档完善 | ADR, SPEC 更新 | ✅ |
- 代码行数: ~800+ 行重复代码移除
- 组件目录: 4 个新子模块 (attention, mlp, norm, positional)
- Feature Flags: 4 个新可选特性
- 测试数: 849 tests pass
详细设计: docs/superpowers/specs/2026-04-19-architecture-refactor-design.md
| 目标 | 描述 | 状态 |
|---|---|---|
| 🚧 | 更多模型架构支持 | 新架构可快速添加 |
| 🚧 | 移动端/边缘部署优化 | 依赖轻量级后端 |
| 🚧 | WebAssembly 支持 | 依赖 WASM 编译目标 |
| 🚧 | 在线微调接口 | 未来规划 |
新的模型架构只需 3 步即可添加:
// 1. 创建 arch.rs
pub struct NewModel;
impl Architecture for NewModel { ... }
// 2. 创建 register.rs
pub fn register(registry: &ArchitectureRegistry) {
registry.register::<NewModel>();
}
// 3. 更新 register_all_archs()
registry::register::<NewModel>(registry);详细文档: docs/superpowers/specs/2026-04-18-multi-model-architecture-design.md
欢迎贡献!请查看 CONTRIBUTING.md 了解如何参与。
MIT License