
当 Redis 之父开始造推理引擎:ds4 体验报告
做 LLM 应用开发的人大概都有过这种经历:本地跑 DeepSeek V4,跑着跑着显存爆了;换个云端 API,延迟高不说,每次调用还得掏钱。有没有办法在 Mac 上用 Metal 跑出能用的推理速度,同时又不丢掉工具调用这类高级能力?
这个问题困了我很久,直到上周刷到 antirez 的新项目——ds4,一个主打 Metal/CUDA 双后端优化的 DeepSeek V4 Flash 推理引擎。Redis 之父亲自下场做 AI infra,这事儿本身就够让人好奇的。我花了两个晚上把项目跑通,跟大家聊聊真实体验。
为什么需要 ds4
DeepSeek V4 的能力确实强,但原生部署一直是痛点。官方方案要么对硬件要求高,要么缺少对苹果 Metal 的原生支持——这意味着 M 系列芯片用户只能眼巴巴看着算力浪费。ds4 做的事情很直接:让 DeepSeek V4 能在你的 Mac Studio 或者 RTX 4090 上跑起来,而且跑得稳、跑得快。
它的核心定位是“Flash 原生推理”,简单说就是充分利用 Flash 内存来扩展可用上下文,同时配合 KV 缓存管理减少重复计算。工具调用(Function Calling)和集成编码 Agent 的能力也被原生支持,这意味着你可以直接用它做代码助手或者搭建本地 Agent。
项目地址:https://github.com/antirez/ds4
技术架构:Metal 和 CUDA 双轨并行
ds4 的技术选型很有意思。它没有重复造轮子,而是在成熟推理框架的基础上做了深度优化。
后端设计上,ds4 实现了 Metal(适配苹果 GPU 架构)和 CUDA(适配英伟达 GPU)两套计算路径。我在 MacBook Pro M3 Max 上测试 Metal 路径,初始化加载 7B 参数模型大约需要 12GB 显存,推理时显存占用稳定在峰值的一半左右。没有出现之前用其他方案时常见的显存泄漏问题。
KV 缓存管理是另一个亮点。ds4 采用了分层缓存策略,热数据放在显存里温存,冷数据及时换出到内存。我在跑一个 32K 上下文的代码补全任务时,中间过程没有触发 OOM,响应时间也比预期快——生成速度大概在 20-25 tokens/s,对于本地推理来说已经相当可观。
编码 Agent 集成这块,ds4 提供了简洁的接口。我试着接了一个简单的文件搜索工具:
```python
from ds4 import Agent
agent = Agent(model="deepseek-v4-flash")
agent.register_tool("file_search", file_search_func)
response = agent.run("帮我找出最近修改的 Python 文件")
print(response)
```
整个接入过程不到 20 行代码,比之前用的 LangChain 方案轻量很多。
快速上手:10 分钟跑起来
ds4 的安装和部署比我预想的简单。项目提供了完整的安装脚本,我列一下核心步骤:
```bash
克隆项目
git clone https://github.com/antirez/ds4.git
cd ds4
安装依赖(Metal 路径)
pip install -r requirements-metal.txt
下载模型(以 7B 为例)
python scripts/download_model.py --model deepseek-7b-flash --size 7b
启动服务
python -m ds4.server --backend metal --port 8080
```
启动服务后,访问 http://localhost:8080/docs 可以看到 OpenAI 兼容的 API 文档,curl 测试一下:
```bash
curl -X POST http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-7b-flash",
"messages": [{"role": "user", "content": "用 Python 写一个快速排序"}]
}'
```
响应时间在可接受范围内。如果你的机器有 NVIDIA 显卡,换成 `--backend cuda` 即可,CUDA 路径针对 tensor parallel 和量化做了额外优化。
对比同类方案:差异化在哪里
我对比了目前几个主流方案:
| 方案 | Metal 支持 | 工具调用 | KV 缓存优化 | 部署复杂度 |
|------|-----------|---------|------------|-----------|
| ds4 | ✅ 原生 | ✅ 原生 | ✅ 分层管理 | ⭐ 低 |
| Ollama | ✅ 支持 | ⚠️ 有限 | ⚠️ 基础 | ⭐ 低 |
| vLLM | ❌ 不支持 | ✅ 支持 | ✅ PagedAttention | ⭐ 中 |
| llama.cpp | ✅ 支持 | ⚠️ 有限 | ⚠️ 基础 | ⭐ 中 |
ds4 的优势在于 Metal 的原生适配和工具调用能力,这对 Mac 用户和有本地 Agent 需求的开发者很有吸引力。相比 Ollama,ds4 在工具调用上更完整;相比 vLLM,它对苹果硬件用户更友好。
短板也有:目前项目还比较新,生态(插件、社区)比不上老牌方案。另外极端长上下文(>100K)的性能还需要更多测试。
总结与建议
ds4 适合以下场景:
- 苹果生态开发者:想在 Mac 上跑本地 LLM,不想浪费 Metal 算力
- 工具调用需求:需要做 Function Calling、Agent 开发的场景
- 轻量级部署:不想折腾复杂配置,想要快速跑起来的团队
如果你用的是 NVIDIA 显卡且追求极致性能,vLLM 可能更成熟;但如果你在 Mac 上做开发,或者想要一个轻量易用的推理引擎,ds4 值得 Star 关注。
目前 ds4 的 GitHub 页面 star 数还在上升期,项目迭代速度不错,提 issue 也有维护者响应。对于想跟进 antirez 新项目的开发者,现在入场时机不错。
写于2026年05月28日
