- 大模型
- 本地部署
- 模型量化
- 多模态
【免费下载链接】clef-flash-4bit
Clef-Flash-4bit 是 Cloudflare Clef 决策模型针对 Apple Silicon 的 4-bit 量化版本。通过内置的serve命令,你可以在自己的 Mac 上快速搭建一个本地 SystemOne 决策 API,让现有客户端直接指向你的电脑。这篇serve 命令完全指南将带你完成依赖安装、一键启动、参数配置与真实请求测试,全程无需 torch,也不需要任何外部服务。
⚠️ 一个重要前提:Clef不是聊天模型。它是"决策模型",输入一段状态文本(或 JSON、图片)加上一组带类型的问题,单次前向传播即返回每个选项的概率。用
mlx_lm.generate、LM Studio、Ollama 这类文本生成工具去加载它,只会得到无意义的输出。只有仓库自带的 clef_mlx.py 才会真正运行决策头(joint schema head)。
为什么选本地 SystemOne 决策 API
相比把请求发到云端,用serve在你本地跑一个决策端点有几个实打实的好处:
- 隐私可控:状态文本可能包含敏感业务信息,本地推理不出外网。
- 零配置对接:
POST /v1/systemone接受的请求体与 Jev/SystemOne API 完全一致,现有客户端把base_url改成本机地址即可。 - 延迟友好:9B 模型在 M5 Max 上 1k token 延迟约 0.31 秒,短请求响应极快。
- 省显存:4-bit 量化后下载仅 6.2 GB,1k token 峰值内存约 7.0 GB。
| 维度 | Clef-Flash-4bit(本仓库) |
|---|---|
| 基座规模 | 9B |
| 下载体积 | 6.2 GB |
| 峰值内存(1k / 4k / 16k token) | 7.0 / 7.2 / 8.6 GB |
| 延迟(1k / 16k token) | 0.31 s / 7.0 s |
| 最低 Mac 内存 | 16 GB |
📌 macOS 默认只让 GPU 使用约 70–75% 的内存,所以"最低内存"要略高于峰值内存。基础 M 系列芯片上长提示会慢数倍。
环境准备与依赖安装
开始之前,请确认你的 Mac 满足最低配置(16 GB 内存,Apple Silicon)。整个流程只需两个 Python 包,不需要 torch。
pip install "mlx-vlm>=0.7.4,<0.8" huggingface_hub官方在 mlx 0.32.3、mlx-lm 0.32.0、mlx-vlm 0.7.4 下测试过。
clef_mlx.py依赖 mlx-vlm 内部接口,若使用未测试的小版本会给出警告。
接着把模型仓库下载到本地(serve需要在仓库目录内运行,此时会自动把该目录作为默认模型):
cd "$(hf download mlx-community/clef-flash-4bit --quiet)"下载完成后,你会看到这些关键文件(都位于仓库根目录):
| 文件 | 作用 |
|---|---|
| clef_mlx.py | 加载器 + 命令行,serve/predict都在此实现 |
| joint_head.safetensors | 联合决策头权重(bf16,原样保留) |
| joint_head_config.json | 决策头结构配置 |
| config.json | 基座模型配置 |
| tokenizer.json | 分词器 |
| model.safetensors.index.json | 基座权重分片索引 |
用 serve 命令一键启动本地服务
进入下载好的仓库目录后,一条命令即可启动:
python clef_mlx.py serve --port 8000启动后终端会打印类似:
Serving clef-flash-4bit on http://127.0.0.1:8000/v1/systemone (truncate=on, max_length=16384)服务默认只绑定127.0.0.1(本机可访问),并会先做一次 warmup 推理以预热 GPU。启动后提供三个接口:
| 方法 | 路径 | 说明 |
|---|---|---|
POST | /v1/systemone | 主接口,返回与 SystemOne API 一致的结果(额外含usage.latency_ms) |
GET | /health | 健康检查,返回{"status": "ok", "model": ...} |
GET | /v1/models | 模型列表,返回当前服务的模型名 |
serve 命令参数详解
serve的参数分为"公共参数"和"serve 专属参数"两部分,完整定义见 clef_mlx.py。
公共参数(predict与serve共用,源码):
| 参数 | 默认值 | 说明 |
|---|---|---|
--model | 当前仓库目录 | Hub 仓库 id 或本地目录;在仓库内运行时可省略 |
--name | 模型目录/仓库名 | 在响应中回显的模型名 |
--max-length | 16384 | 提示 token 上限(决策头按 16k 训练) |
--no-truncate | 关闭 | 超长输入直接报错,而非截断 state |
serve 专属参数(源码):
| 参数 | 默认值 | 说明 |
|---|---|---|
--host | 127.0.0.1 | 绑定地址;默认仅本机访问 |
--port | 8000 | 监听端口 |
--max-body-mb | 64 | 请求体大小上限(MB) |
--quiet | 关闭 | 关闭逐条请求的访问日志 |
🔒安全提示:
serve没有认证机制。除非你在前面自配代理或网关,否则请保持默认的127.0.0.1绑定,不要随意暴露到局域网。
一个更完整的启动示例(指定端口、关闭截断、关闭访问日志):
python clef_mlx.py serve --port 8000 --no-truncate --quiet发送第一条决策请求
服务跑起来后,用curl发一条请求验证。state是状态描述,questions是一组带类型的问题:
curl http://127.0.0.1:8000/v1/systemone \ -H "Content-Type: application/json" \ -d '{ "model": "clef-flash", "state": "Checkout has been failing for every customer for the last hour.", "questions": {"urgent": {"type": "noul", "instructions": "Is this urgent?"}} }'支持的问题类型(question type):
| 类型 | 含义 |
|---|---|
choice | 从criteria定义的多个选项中选择,返回每个选项概率 |
score | 对criteria给出的有序档位打分 |
noul | 是/否(no/you-like)判断 |
成功时响应体与 SystemOne API 一致,并额外返回usage.latency_ms(本次推理耗时,单位毫秒),方便你监控性能。
通过 HTTP 传图片
/v1/systemone支持在请求体的images字段传图片,支持三种形式:
- data URL(
data:image/...;base64,...) - 纯 base64 字符串
- http(s) URL(服务会主动拉取)
⚠️ 两点注意:本地文件路径不能通过 HTTP 传入;视频不支持走 HTTP(视频请在 Python 里直接调用 clef_mlx.py 的
predict/systemone)。此外,单条记录里图片与视频二选一,但可传多张图片或多个视频。
理解错误码与超长输入
服务端以 JSON 形式返回错误,行为定义见 clef_mlx.py:
| 状态码 | 场景 | 说明 |
|---|---|---|
400 | 非法请求 | JSON 解析失败、请求体不是对象、参数错误等 |
413 | 超长 / 超大 | 输入装不下max_length时返回maximum context length;请求体超过--max-body-mb也会触发 |
500 | 服务内部异常 | 返回异常类型与消息,服务不会中断 |
默认情况下,超长输入会像参考实现一样自动截断state 以塞进 16,384 token。若你希望超长直接返回413,可任选其一:
- 在请求体里加
"truncate": false - 或以
--no-truncate启动服务
常见限制与注意事项
- 一次一条请求:GPU 上顺序处理,无批量(batching),请求会排队执行。
- 每次一条记录:不支持把多条记录合并成一次调用。
- 不是聊天模型:请勿用文本生成工具加载,输出会无意义。
- 速度依赖芯片:表格中的延迟来自 M5 Max,基础 M 系列芯片上长提示会慢数倍。
- 含自定义代码:仓库会提供
clef_mlx.py供你导入运行,介意的话请先阅读源码再使用。
快速上手检查清单
按顺序走一遍,即可确认你的本地 SystemOne 决策 API 一切正常:
- 已安装
mlx-vlm与huggingface_hub,确认 Mac 内存 ≥ 16 GB - 已通过
hf download拿到仓库并进入该目录 - 运行
python clef_mlx.py serve --port 8000,看到Serving ...提示 curl http://127.0.0.1:8000/health返回{"status": "ok"}POST /v1/systemone返回带answers与usage.latency_ms的结果- 确认服务仍绑定
127.0.0.1,未意外暴露到外网
至此,一个完全运行在本地的 Clef-Flash-4bit SystemOne 决策 API 就搭建完成了。后续如需对接 Decision Index 等工具,保持--no-truncate启动,并把其http引擎的base_url指向http://127.0.0.1:8000即可。
- 大模型
- 本地部署
- 模型量化
- 多模态
【免费下载链接】clef-flash-4bit
相关推荐
如何调用 clef-flash-OptiQ-4bit 的 /v1/systemone API?curl 与 Python 实战教程
如何调用 clef flash OptiQ 4bit 的 /v1/systemone API?curl 与 Python 实战教程 clef flash Opt
人工智能大模型模型量化本地部署本地部署SystemOne API:如何把clef-omni-4bit变成兼容Jev协议的HTTP决策服务
本地部署SystemOne API:如何把clef omni 4bit变成兼容Jev协议的HTTP决策服务 clef omni 4bit 是 Cloudflar
部署clef-4bit本地SystemOne服务器:一条命令让现有客户端无缝接入
部署clef 4bit本地SystemOne服务器:一条命令让现有客户端无缝接入 clef 4bit 是 Cloudflare Clef 27B 决策模型在 A
人工智能大模型基础模型本地部署多模态模型量化
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考