本地部署到底能不能当生产力?我把两个月里跑过的四种模型、踩过的坑和三个客户端的实测结果都写在这篇里。

这台机器是 64GB DDR5、RTX 5060 Ti 16GB,Windows 11。跑过 22GB 的 Qwen3.6,也跑过 247GB 的 DeepSeek V4.1-Flash。下面按真实顺序写:先算能跑多大,再装,再下模型,再启动,然后是我踩过的五个坑,最后是 Claude Code / Codex / DSH 三个客户端的实测。

Strata 的结构

一、Strata 是什么,和 Ollama 差在哪

Strata 分两层:engine 负责推理,terminal 负责管模型和起停。跑起来以后,它在 8080 端口同时说两种话:

  • OpenAI 那套:/v1/chat/completions、/v1/responses
  • Anthropic 那套:/v1/messages

这一点很实用——Claude Code 只认 Anthropic 协议,Codex 只认 Responses,DSH 两者都行。同一个端口,三种客户端都能直接接,不需要任何中间转换层。

它和 Ollama、LM Studio 的区别在这几处:

  • 支持超大 MoE 模型。Ollama 更适合 7B–70B 的稠密模型,碰到 100GB 以上的 MoE,内存管理会很难受。
  • 原生双协议。Ollama 的 /v1 是兼容层,Claude Code 那种 Anthropic 协议接不了。
  • 支持视觉和超长上下文(1M 那一档)。
  • 代价是配置更重,而且同一时刻只能跑一个模型(--parallel 1)。换模型就是停旧的、等它吐内存、再起新的。

如果你只是想在自己电脑上跑个 7B 模型聊天,Ollama 更省事。如果你要接编码客户端、要跑 70GB 以上的模型,那 Strata 这套更合适。

二、你的电脑能跑多大的大模型:内存怎么算

这一步很多人跳过,结果下完 80GB 的模型才发现跑不动。

内存占用大致是这么三块:

  • 模型权重:GGUF 文件多大,基本就要占多少内存(除非用 mmap 让它按需从磁盘读)。
  • KV 缓存:128K 上下文、q4 量化,大约 6–8GB。上下文翻倍,这块跟着翻。
  • 系统和其他程序:Windows 本身 4GB 起,浏览器、编辑器随手就是几个 G。

所以经验公式是:

模型体积 ≤ (物理内存 - KV - 系统余量) × 1.25

64GB 内存、128K 上下文、想留 6GB 给系统,能跑的模型大概在 80GB 以内。

64GB 内存能装下什么

现实里比公式复杂一点,因为 mmap 救了大家:模型文件不活跃的部分留在磁盘上,按需读进内存。我实测 IQ3_XXS 71.5GB 加载完还剩 7.8GB,IQ3_S 84.3GB 加载完只剩 4.4GB——都能跑,但后者开几个浏览器标签就开始换页,速度从 40 tok/s 掉到个位数。

显存在这里的作用:不是"装模型",而是放热点专家和注意力缓存。16GB 显存跑 100B 级的 MoE 够用,因为每次激活的专家只有一小部分。真正卡住你的是内存。

什么时候需要 128GB 以上:模型超过 100GB,或者要在长上下文下保持速度。否则 64GB 配 mmap 能覆盖大部分场景。

三、下载与安装

Windows 版是一个安装包,我用的 Strata-0.2.13-windows-x64-setup.exe,108MB。装完以后大概是这个结构:

C:\Users\<你>\AppData\Local\Strata\
├─ components\engine\0.1.58-windows-x86_64-cuda-cuda13\
│    ├─ strata.exe           291 MB   ← 推理主程序
│    └─ strata-vision.exe    103 MB   ← 视觉
└─ install\engine-dsv41\...           ← DeepSeek 用的专用引擎

terminal(命令行工具)是 Python 写的,放在数据目录里,比如 G:\Strata\terminal\current,里面有 strata.py、strata_cli\、serve\。

安装时有两个选择值得留意:

  • 组件放哪:默认在 C 盘用户目录。C 盘紧张的话,引擎和模型都放别的盘。
  • 数据目录:用环境变量 STRATA_DATA_DIR 指定,模型、日志、终端都跟着它走。我把它设成 G:\Strata,C 盘就干净了。

装完先确认三件事:

strata --version          # 看版本
strata launch --status    # 看当前有没有模型在跑
strata launch --help      # 看参数

--status 是个好习惯,尤其在你怀疑"模型是不是还挂着"的时候——它只会回答两种结果:正在跑,或者什么都没跑。

四、下模型:注意分片和 mmproj

Strata 吃 GGUF,但大模型都是分片的,一个目录里会有好几个 .gguf 文件,加一个视觉投影文件 mmproj-*.gguf。

目录长这样:

G:\Strata\models\IQ3_XXS\
├─ Qwen3.8-...-00001-of-00002.gguf    54.8 GB
├─ Qwen3.8-...-00002-of-00002.gguf    28.8 GB
└─ mmproj-Qwen3.8-Flash-Next-BF16.gguf  0.9 GB

四种模型在我盘上的实际体积:

  • Qwen3.6-35B-A3B:22.1 GB
  • Qwen3.8 IQ3_XXS:71.5 GB
  • Qwen3.8 IQ3_S:84.3 GB
  • DeepSeek V4.1-Flash:247.6 GB(1M 上下文,2.25bpw)

下载渠道上,国内直接从 HuggingFace 拉经常几百 KB/s,我的做法是走 ModelScope 镜像,或者用多线程下载器(aria2 -x8)能到 10MB/s 左右。

三个注意点:

  • 别放 C 盘,也别放机械盘。模型加载时是顺序读,机械盘会让启动时间翻倍。
  • 目录名保持原样,别改分片文件名,--model-path 是按目录整体加载的。
  • mmproj 必须有,否则 --vision on 是空的,发图片进去会被忽略。

五、启动

最常用的命令长这样:

strata launch --model-path "G:\Strata\models\IQ3_XXS" ^
  --context 128k --kv q4_0 --vision on --no-api-key

参数逐个解释:

  • --model-path:模型目录(不是文件)。
  • --context 128k:上下文长度。128K 在 64GB 机器上要配 q4 KV 才行。
  • --kv q4_0:KV 缓存 4bit 量化,省内存,长上下文下几乎必须开。
  • --vision on:开视觉,需要目录里有 mmproj。
  • --no-api-key:见后面那个坑,它不一定管用。

IQ3_XXS 加载大约 40–60 秒,IQ3_S 要 60–90 秒。加载过程中别反复敲命令,它不会给你更多反馈。

加载完怎么确认?直接问它:

curl -s -H "Authorization: Bearer strata-local" http://127.0.0.1:8080/v1/models

返回里能看到模型名和 n_ctx。这一步比看界面可靠。

六、五个我踩过的坑

(1) --model 和 --model-path 不是一回事。
--model iq3_s 这种写法会先去 HuggingFace 校验权重,国内网络下必超时,日志里是 Cannot reach huggingface.co。自己下的 GGUF 必须用 --model-path 指目录。

(2) --no-api-key 关不掉环境变量。
启动参数写了它,但环境里如果还留着 STRATA_API_KEY=strata-local,网关照样校验。客户端必须发 Authorization: Bearer strata-local,发 Bearer local 就是 401。我在这上面浪费过半小时,一直在怀疑客户端配错了。

(3) cudaHostRegister 失败不等于跑不了。
IQ3_S 加载时会尝试把整块内存 pin 到主机侧,内存不足时这步直接报 out of memory,但模型仍然能跑,只是部分页在磁盘上。看到这条报错先测速度,别急着换小模型。

(4) 同一个端口永远只有一个模型。
起新模型前必须先停旧的。我有一次没等旧的完全卸载就起新的,两边一起卡住,最后只能把进程全杀了重来。strata launch --status 就是为这个准备的。

(5) 视觉和文本是两个组件。
--vision on 但目录里没有 mmproj,行为是静默忽略图片,不报错。这点很坑,因为你会以为是模型看不懂图。

七、把三个客户端接进来

三个客户端,三个协议,三种配置方式。共同点是:它们都只是 HTTP 客户端,不知道背后是本地还是云端。

Claude Code 走 Anthropic 协议:

$env:ANTHROPIC_BASE_URL = "http://127.0.0.1:8080"
$env:ANTHROPIC_AUTH_TOKEN = "strata-local"
claude --model qwen3.8-flash-next-iq3_xxs

Codex 走 Responses 协议,在 config.toml 里加一个 provider:

[model_providers.strata]
name = "strata"
base_url = "http://127.0.0.1:8080/v1"
wire_api = "responses"

DSH 是在路由补丁里加一条,指向同一个地址,模型会出现在选择器里,和云端模型并排。

三个客户端,四种模型:实测结论

实测下来:

  • Claude Code 最稳,两种量化档位都能跑,改代码的任务表现最好。
  • Codex 的 apply_patch 很精确,但每轮固定开销大约 9.9K token,128K 窗口里留给对话的余量少;它对 DeepSeek 那档直接 502。
  • DSH 最灵活,同一个会话里云端和本地模型可以切换,适合"干重活时用云端、跑实验用本地"。

八、速度:别只看 tok/s

引擎每轮会打一行日志,三个数字要分开算:

引擎日志里该看什么

  • reused:命中的 KV 缓存,不花时间。多轮对话里通常占九成以上。
  • read:真正新读的 token,决定第一句话什么时候出来。
  • generated / 耗时:输出速度,决定你等多久。

四种模型的实测速度(同一台机器、同样的 128K 上下文):

  • Qwen3.6-35B-A3B:45–50 tok/s,最快
  • Qwen3.8 IQ3_XXS:约 49 tok/s,主力档
  • Qwen3.8 IQ3_S:约 40 tok/s
  • DeepSeek V4.1-Flash:5.5–6 tok/s

真正让人难受的不是速度数字,是输出长度。我有一次让它写 1794 个 token,花了 317 秒。prompt 读得再快也没用,写得长就是慢。

九、什么任务别交给本机模型

三个月下来,我学会了对本地模型说"不"的几类活:

  • 需要它自己验证自己的长任务。它很容易回你"已验证,全部通过",实际上没跑。
  • 几十万 token 的长文档来回对话。只有 1M 那档能装下,但慢到没法聊,不如一次性总结。
  • 接工具目录庞大的 MCP。有次我把一个逆向工具接进去,光工具定义就占 19 万 token,128K 窗口当场爆掉(request exceeds the context window)。后来改成让它直接跑命令行,请求量掉到几千。

反过来说,单文件代码生成、文档改写、批量脚本、离线分析 这些活,本地模型已经够用,而且数据一直在自己盘里。

十、一页速查

strata launch --status

strata launch --model-path "G:\Strata\models\IQ3_XXS" ^
  --context 128k --kv q4_0 --vision on --no-api-key

curl -s -H "Authorization: Bearer strata-local" http://127.0.0.1:8080/v1/models

$env:ANTHROPIC_BASE_URL="http://127.0.0.1:8080"; $env:ANTHROPIC_AUTH_TOKEN="strata-local"
claude --model qwen3.8-flash-next-iq3_xxs

一句话总结我对这套东西的判断:64GB 内存的甜点档是 71.5GB 的 IQ3_XXS,速度 45–50 tok/s、留 7–8GB 余量,日常够用;IQ3_S 留给难题,DeepSeek 1M 留给长文档。需要"一次做对"的复杂任务,还是交给云端。

本文数据来自 2026 年 11 月本机实测日志;模型速度与量化方式、引擎版本强相关,版本一换可能就对不上了。


以上就是我在 64GB 内存机器上部署本地大模型的完整记录。

原文地址(排版更完整,含四张实测图): https://shilu.dpdns.org/articles/2026-11-14-Strata-%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%AE%9E%E6%88%98.html

如果这篇对你有用,欢迎到原文站点看看其他文章。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐