如何用 llama.cpp 快速部署 Ornith-1.5-35B-A3B:OpenAI 兼容 API 与 256K 长上下文完全实战指南
【免费下载链接】Ornith-1.5-35B-A3B-GGUF项目地址: https://ai.gitcode.com/hf_mirrors/ornith-ai/Ornith-1.5-35B-A3B-GGUF
本文以Ornith-1.5-35B-A3B-GGUF仓库为例,手把手教你用llama.cpp的llama-server一条命令搭建OpenAI 兼容 API服务,并完整启用256K(262,144 tokens)长上下文。无论你是想在本地跑一个能"边思考边回答"的推理模型,还是想把它接入 Agent 框架和编码 CLI,这篇指南都能帮你在半小时内搞定部署。
一、为什么 Ornith-1.5-35B-A3B 适合 llama.cpp 本地部署 🐦
先简单认识一下这个模型,再决定怎么部署它:
- MoE 架构,推理成本极低:它是约 35B 总参数的混合专家(Mixture-of-Experts)模型,但每个 token 只激活约3B 参数。这意味着推理时的计算量和内存带宽需求远低于同级别的稠密模型,消费级显卡 + CPU 卸载即可跑得动。
- 推理(Reasoning)模型:默认会在回答前输出一段
think… think思考链。用 llama.cpp 正确配置后,思考内容会被解析到独立的reasoning_content字段,最终答案放在content字段,客户端不会看到"脏"输出。 - Agent 能力强:在 SWE-bench Verified(79 分)、Terminal-Bench 2.1 等编码与智能体基准上表现突出,支持 OpenAI 风格的函数调用(tool calls),可无缝对接各种 Agent 框架。详细的评测数据与说明见 README.md。
二、准备工作:选择 GGUF 量化版本
仓库内置了 5 个量化档位,按"质量优先"还是"显存优先"对号入座即可:
| 量化文件 | 质量 | 适合场景 |
|---|---|---|
| Ornith-1.5-35B-BF16.gguf | 最高(原始精度) | 大显存/多卡,追求无损 |
| Ornith-1.5-35B-Q8_0.gguf | 接近无损 | 显存较充裕的推荐档 |
| Ornith-1.5-35B-Q6_K.gguf | 高 | 显存与质量平衡 |
| Ornith-1.5-35B-Q5_K_M.gguf | 较高 | 中等显存 |
| Ornith-1.5-35B-Q4_K_M.gguf | 良好 | 显存紧张 / 入门首选 |
另外,mmproj-Ornith-1.5-35B-BF16.gguf 是视觉投影文件,如果后续需要多模态(图片理解)能力,启动时加--mmproj指向它即可,本篇以纯文本 API 服务为主线。
💡 不需要手动 clone 仓库:llama.cpp 的
-hf参数可以直接指定 HuggingFace 仓库名并自动下载所需的 GGUF 文件,是最省事的获取方式。
三、一条命令启动 llama-server:OpenAI 兼容 API + 256K 上下文
核心启动命令就这一行(摘自官方 README.md):
llama-server -hf ornith-ai/Ornith-1.5-35B-A3B-GGUF --port 8000 -c 262144启动后,服务会监听http://localhost:8000,并自动暴露 OpenAI 兼容端点。如果你想手动指定本地文件(已下载过 GGUF 时),把-hf …换成-m 模型路径即可。
3.1 关键参数逐个讲
| 参数 | 作用 | 说明 |
|---|---|---|
-c 262144 | 上下文长度 | 即 256K,本文的核心目标 |
--port 8000 | 监听端口 | OpenAI 兼容 API 地址为http://localhost:8000/v1 |
--host 0.0.0.0 | 对外暴露 | 局域网其他设备/容器要访问时加上 |
-ngl 99 | GPU 卸载 | 尽量把层数放到 GPU |
--jinja | 启用模板 | 该模型的工具调用模板在jinja中,必须开启 |
--reasoning-format | 思考链格式 | 把思考内容解析到reasoning_content字段 |
--alias | 模型别名 | 让/v1/models返回更友好的名字 |
-np 4 | 并发数 | 允许 4 个并行对话槽位 |
--cache-type-k q8_0 --cache-type-v q8_0 | KV 量化 | 256K 长上下文的省显存关键 |
3.2 256K 长上下文怎么跑得动?两个技巧 ⚡
技巧 1:KV Cache 量化(省内存的钥匙)
256K 上下文的 KV 缓存会占据大量显存。加上--cache-type-k q8_0 --cache-type-v q8_0后,KV 缓存以 8-bit 量化存储,体积大约只有 BF16 的一半,对长文本质量影响很小——这是跑满 256K 的推荐配置。
技巧 2:MoE 专家层 CPU 卸载
35B 总参数的权重不必全部塞进显卡。llama.cpp 支持把 MoE 的专家层留在 CPU,只让 GPU 处理注意力层(激活参数仅约 3B):
llama-server -hf ornith-ai/Ornith-1.5-35B-A3B-GGUF --port 8000 \ -c 262144 -ngl 99 --n-cpu-moe \ --cache-type-k q8_0 --cache-type-v q8_0 \ --jinja --alias Ornith-1.5-35B-A3B这套组合让"单张 24GB 级别显卡 + 64GB 内存"这类配置也有机会跑通 256K 服务。如果你的显存更宽裕,去掉--n-cpu-moe换速度即可。
📌 注意:256K 是模型的原生长度,直接用
-c 262144即可,无需任何 RoPE 缩放;只有当你需要超过 256K(如 512K、1M)时,才需要研究 YaRN 外推(官方 README.md 给出了参数参考)。
四、验证服务:调用 /v1/chat/completions
服务起来后,先确认模型列表,再发一条对话请求:
curl http://localhost:8000/v1/modelscurl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "Ornith-1.5-35B-A3B", "messages": [{"role": "user", "content": "写一个 Python 平方函数"}], "temperature": 0.6, "top_p": 0.95, "max_tokens": 1024 }'响应中你会看到两类内容:
choices[0].message.content:最终答案choices[0].message.reasoning_content:模型完整的思考过程(think内容)
4.1 官方推荐采样参数
官方 README.md 给出的建议如下,直接照抄即可:
| 用途 | temperature | top_p | top_k |
|---|---|---|---|
| 日常对话/通用任务 | 0.6 | 0.95 | 20 |
| 复现官方基准成绩 | 1.0 | — | — |
4.2 工具调用(Function Calling)
开启--jinja后,模型的<tool_call>块会被解析成标准 OpenAItool_calls字段,你可以像调用云端 API 一样传入tools参数——这是把它接入编码 Agent 的关键一环。
五、接入 Agent 框架:只需改两个环境变量 🔌
绝大多数 Agent 框架和编码 CLI(如 Hermes、OpenClaw、OpenCode 等)都支持 OpenAI 兼容端点,只需把环境变量指向本地服务:
export OPENAI_BASE_URL="http://localhost:8000/v1" export OPENAI_API_KEY="EMPTY" export OPENAI_MODEL="ornith-ai/Ornith-1.5-35B-A3B"更多框架的接入示例可以参考 README.md 的 Agentic Usage 与 Coding CLIs 章节。这样,一个能理解大型代码库、执行终端任务的本地 Agent 就跑起来了。
六、常见问题排查清单 ✅
| 症状 | 排查方向 |
|---|---|
| 启动后显存 OOM | 换 Q4_K_M / Q5_K_M;加--n-cpu-moe;确认已加 KV 量化 |
| 256K 上下文加载失败 | 减小-c(如 131072)先验证服务,再逐步调大;检查 KV 量化参数 |
| 回答里混着原始思考标签 | 检查是否遗漏--reasoning-format和--jinja |
| 工具调用格式报错 | 确认--jinja已开启(模板解析依赖它) |
| 局域网无法访问 | 加--host 0.0.0.0并放行端口 |
七、小结
用 llama.cpp 部署 Ornith-1.5-35B-A3B 的全部要点:
- 选量化:显存够选 Q8_0,紧张就 Q4_K_M;
- 一条命令:
llama-server -hf ornith-ai/Ornith-1.5-35B-A3B-GGUF -c 262144,加--jinja、KV 量化与--n-cpu-moe稳住 256K; - 即插即用:
/v1/chat/completions端点兼容所有 OpenAI SDK 和 Agent 框架,思考链与工具调用均按标准字段返回。
35B 总参数、3B 激活、256K 上下文、OpenAI 兼容接口——这套组合让它成为本地跑"能干活的 Agent 模型"的高性价比选择。部署完成后,不妨先把它接到你的编码 CLI 上试试,这正是它最擅长的场景。
【免费下载链接】Ornith-1.5-35B-A3B-GGUF项目地址: https://ai.gitcode.com/hf_mirrors/ornith-ai/Ornith-1.5-35B-A3B-GGUF
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考