ornith-ai/Ornith-1.5-35B-A3B-GGUF
摘要
Ornith-1.5-35B-A3B 是一款新的AI基础模型,通过采用端到端自我改进,在编码和代理基准测试上取得了卓越的性能,每个令牌仅激活约30亿个参数。
查看缓存全文
缓存时间: 2026/08/20 21:50
ornith-ai/Ornith-1.5-35B-A3B-GGUF · Hugging Face
来源:https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B-GGUF
Ornith 博客 (https://deep-reinforce.com/ornith.html)
叽喳叽喳!🐦 我们正在推出 Ornith-1.5,这是迈向通过端到端自我改进构建基础模型的重要一步。Ornith-1.5 扩展了 Ornith-1.0(该版本在 Qwen3.5 和 Gemma4 的基础上进行了额外的持续预训练、中期训练和后训练),将自我改进循环从支架和展开优化扩展到联合优化任务生成、支架构建和解决方案展开。Ornith-1.5 不依赖于一组固定的人工精选任务和手动设计的工具,而是持续生成新的训练任务,发现解决这些任务的有效策略,并通过强化学习改进策略。有关任务、工具和展开奖励设计的更多细节,请参考我们的博客。
Ornith 1.5 35B 基准测试结果
Ornith 1.5 35B-A3B
此模型卡片记录了 Ornith-1.5-35B-A3B,它是 Ornith-1.5 家族的中型混合专家成员。每个 token 仅激活约 30 亿参数,但在所有编码和智能体基准测试中,其性能显著优于同规模的 Qwen 3.6-35B;在智能体编码任务上,其性能也大幅领先于 Gemma 4-31B 和 Muse Glimmer-30B 等稠密模型。
基准测试
| 基准测试 | Ornith-1.5-35B-A3B | Ornith-1.0-35B-A3B | Qwen3.6-35B-A3B | Gemma-4-31B | Muse-Glimmer-30B | Qwen3.5-397B |
|---|---|---|---|---|---|---|
| 编码 | ||||||
| Terminal-Bench 2.1 (Terminus-2) | 67.8 | 64.2 | 52.5 | 42.1 | 51.7 | 53.5 |
| Terminal-Bench 2.1 (Claude Code) | 68.5 | 62.8 | 49.2 | - | - | 48.6 |
| SWE-bench Verified | 79 | 75.6 | 73.4 | 52 | 76 | 76.4 |
| SWE-bench Pro | 59.6 | 50.4 | 49.5 | 35.7 | 51.2 | 51.6 |
| SWE-bench Multilingual | 71.4 | 69.3 | 67.2 | 51.7 | - | 69.3 |
| DeepSWE | 22 | 20 | - | - | - | 1 |
| Frontier-Bench v0.1 | 5 | 1.4 | 1.4 | - | - | 1.4 |
| NL2Repo | 46.2 | 34.6 | 29.4 | 15.5 | - | 36.8 |
| SWE Atlas - QnA | 39.8 | 37.1 | 15.5 | - | - | 20.4 |
| 推理 | ||||||
| HLE (no tools) | 25.6 | 20.8 | 21.4 | 19.5 | 22 | 28.7 |
| HLE (with tools) | 33.4 | 30.1 | 28.9 | 26.5 | - | 48.3 |
| GPQA Diamond | 89.2 | 86.2 | 86 | 84.3 | 83.5 | 88.4 |
| 智能体 | ||||||
| MCP-Atlas | 70.2 | 64.4 | 62.8 | 55 | 75.5 | 72.3 |
| Toolathlon-Verified | 48.7 | 42.4 | 41.7 | 40.8 | - | 38.3 |
| WideSearch | 67.8 | 63.4 | 60.1 | 54.2 | - | 74 |
| BrowseComp | 67.6 | 63.5 | 62 | - | - | 78.6 |
| ClawEval | 72.5 | 69.8 | 68.7 | 48.5 | - | 70.7 |
- Ornith-1.5 的所有报告结果均为五次独立运行的平均值。
- Terminal-Bench 2.1 (Terminus-2):我们使用 Harbor/Terminus-2 框架评估 Terminal-Bench 2.1,设置 parser=json,temperature=1.0,top_p=1.0,以及 128K 上下文窗口。每次运行使用 4 小时超时,配置 32 个 CPU 核心和 48GB RAM,结果取 5 次运行的平均值。我们调整了 Qwen 聊天模板以确保训练和推理的一致性 (https://huggingface.co/ornith-ai/Ornith-1.5-35B-A3B/blob/main/chat_template.jinja),并修改了 Harbor 以对齐 vLLM 的
reasoning_content键。 - Terminal-Bench 2.1 (Claude Code):我们使用 Claude Code 2.1.126 评估 Terminal-Bench 2.1,设置 parser=json,temperature=1.0,top_p=1.0,max_new_tokens=131072。结果取 5 次运行的平均值。同样,Qwen 聊天模板需要修改。
- SWE-Bench Verified, Pro 和 Multilingual:使用 OpenHands 工具,设置 temp=1.0,top_p=0.95,256k 上下文窗口。在整个评估过程中应用了防黑客保护:从本地仓库镜像中移除了 Git 历史,以防止访问先前的解决方案或提交;禁用了网络访问,防止模型检索外部信息或资源。
- DeepSWE:使用 Claude Code 工具评估,设置 temperature=1.0,top_p=0.95,以及 256K 上下文窗口。
- SWE Atlas QnA:使用 mini SWE 智能体工具,设置 temp=1.0,top_p=0.95,128K 上下文窗口。结果取 5 次运行的平均值。
- NL2Repo:设置 temperature=1.0,top_p=1.0,400K 上下文,48K 输出。访问指定的 GitHub 仓库和 pip 包被阻止,以防止奖励欺骗。
- HLE:使用 Claude 4.6 Opus 作为评判模型进行评估。
- MCP-Atlas:所有模型均在思考模式下于 500 任务公共子集上进行评估,每个任务超时 10 分钟。我们使用 Claude 4.8 Opus 作为评判模型。
- Toolathlon-Verified:我们使用官方评估服务,将最大 token 限制设置为 128K。
- ClawEval:一个基于真实用户任务分布的智能体代码基准测试;temp=0.6 和 256K 上下文。
快速开始
📝 注意 Ornith-1.5-35B-A3B 是一个推理模型:默认情况下,助手回合在最终答案之前以 ... 块开始。下面的部署方案启用了推理解析器,以便思维链在单独的 reasoning_content 字段中返回,并启用了工具调用解析器,以便模型的 ... 块作为 OpenAI 风格的 tool_calls 显示。部署 Ornith-1.5-35B-A3B 需要较新的运行时:
- Transformers ≥ 5.8.1
- vLLM ≥ 0.19.1
- SGLang ≥ 0.5.9
推荐的采样参数:
- 对于一般任务:
temperature=0.6,top_p=0.95,top_k=20 - 要重现报告的基准测试:
temperature=1.0
部署 Ornith-1.5-35B-A3B
Ornith-1.5-35B-A3B 是一个约 35B 参数的混合专家模型,每个 token 激活约 3B 参数(约 70 GB bf16)。下面的方案在 2× 80GB GPU 上启动一个 OpenAI 兼容服务器,为 256K 上下文预留空间;请根据您的硬件调整 --tensor-parallel-size / --tp。
vLLM
vllm serve ornith-ai/Ornith-1.5-35B-A3B \
--served-model-name Ornith-1.5-35B-A3B \
--host 0.0.0.0 --port 8000 \
--tensor-parallel-size 2 \
--max-model-len 262144 \
--gpu-memory-utilization 0.90 \
--enable-prefix-caching \
--enable-auto-tool-choice --tool-call-parser qwen3_xml \
--reasoning-parser qwen3 \
--trust-remote-code
SGLang
python -m sglang.launch_server \
--model-path ornith-ai/Ornith-1.5-35B-A3B \
--served-model-name Ornith-1.5-35B-A3B \
--host 0.0.0.0 --port 8000 \
--tp 2 \
--context-length 262144 \
--mem-fraction-static 0.85 \
--tool-call-parser qwen3_coder \
--reasoning-parser qwen3
用于长上下文
Ornith-1.5-35B-A3B 可处理最多 262,144 个 token 的上下文窗口。当任务的输入和输出总和超出此限制时,我们建议使用 RoPE 缩放来扩展有效窗口——YaRN 是我们验证过的技术,它已内置于 vLLM 和 SGLang 中。使用 4.0 的缩放因子,可用窗口可扩展到大约 1M 个 token。您可以通过两种方式启用 YaRN:
- 编辑检查点的
config.json。 在模型配置中添加一个rope_scaling块:{ "rope_scaling": { "rope_type": "yarn", "factor": 4.0, "original_max_position_embeddings": 262144 } } - 在启动时覆盖。 保持检查点不变,在上面的部署命令中添加相应的标志。
vLLM:
SGLang:VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve ornith-ai/Ornith-1.5-35B-A3B ... \ --hf-overrides '{"rope_scaling": {"rope_type": "yarn", "factor": 4.0, "original_max_position_embeddings": 262144}}' \ --max-model-len 1000000SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server ... \ --json-model-override-args '{"rope_scaling": {"rope_type": "yarn", "factor": 4.0, "original_max_position_embeddings": 262144}}' \ --context-length 1000000
📝 注意 开源运行时静态地实现 YaRN:无论请求长度如何,都应用相同的缩放因子,这可能会略微影响普通长度输入的质量。仅在您的工作负载确实需要更长的窗口时才启用 rope_scaling,并根据需求设置 factor——目标窗口大约是 factor × 262,144,因此如果您的请求上限约为 524,288 个 token,factor: 2.0 是更好的设置。
通过聊天补全 API 使用 Ornith-1.5-35B-A3B
一旦 vLLM 或 SGLang 服务器运行,您可以使用任何 OpenAI 兼容客户端与之对话。
基本用法
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="EMPTY", # 任何非空字符串都适用于本地服务器
)
response = client.chat.completions.create(
model="Ornith-1.5-35B-A3B",
messages=[
{"role": "user", "content": "Write a one-line Python lambda that squares a number."}
],
temperature=0.6,
top_p=0.95,
max_tokens=1024,
)
message = response.choices[0].message
# reasoning_content 包含推理过程;content 包含最终答案。
print("reasoning:", getattr(message, "reasoning_content", None))
print("answer:", message.content)
您还可以流式传输 token,或为模型提供工具——Ornith-1.5-35B-A3B 会发出格式良好的函数调用,服务器会将其解析为标准的 tool_calls 字段:
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
},
}
]
response = client.chat.completions.create(
model="Ornith-1.5-35B-A3B",
messages=[{"role": "user", "content": "What is the weather in Paris right now?"}],
tools=tools,
tool_choice="auto",
temperature=0.6,
max_tokens=2048,
)
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.function.name, tool_call.function.arguments)
# -> get_weather {"city": "Paris"}
您可以将任何 OpenAI 兼容的 SDK(Python, Node.js, 等)或 curl 指向同一个 /v1/chat/completions 端点。
智能体用法
Ornith-1.5-35B-A3B 在工具调用和智能体编码方面表现出色。它提供了一个支持工具调用的 OpenAI 兼容端点,并可与标准智能体框架开箱即用。
使用 Ornith 与智能体的示例:
Ollama
ollama run hf.co/ornith-ai/Ornith-1.5-35B-A3B-GGUF
Atomic.chat
# Atomic.chat 加载 Ornith 的 GGUF 构建版本 (ornith-ai/Ornith-1.5-35B-A3B-GGUF)
# 通过 llama.cpp 的 OpenAI 兼容 API 在端口 8000 上运行。
llama-server -hf ornith-ai/Ornith-1.5-35B-A3B-GGUF --port 8000 -c 262144
llama.cpp
# llama.cpp — 在端口 8000 上提供 OpenAI 兼容 API。
llama-server -hf ornith-ai/Ornith-1.5-35B-A3B-GGUF --port 8000 -c 262144
Hermes Agent
# Hermes 与任何 OpenAI 兼容端点对话 — 将其指向您的 Ornith 服务器。
export OPENAI_BASE_URL="http://localhost:8000/v1"
export OPENAI_API_KEY="EMPTY"
export MODEL="ornith-ai/Ornith-1.5-35B-A3B"
OpenClaw
# OpenClaw 与任何 OpenAI 兼容端点对话 — 将其指向您的 Ornith 服务器。
export OPENAI_BASE_URL="http://localhost:8000/v1"
export OPENAI_API_KEY="EMPTY"
export OPENAI_MODEL="ornith-ai/Ornith-1.5-35B-A3B"
Unsloth Studio
pip install unsloth
# 加载 Ornith 用于快速本地推理或微调 (Python):
# from unsloth import FastLanguageModel
# model, tokenizer = FastLanguageModel.from_pretrained(
# "ornith-ai/Ornith-1.5-35B-A3B",
# max_seq_length=262144,
# load_in_4bit=True,
# )
编码 CLI
Ornith-1.5-35B-A3B 针对基于终端的编码智能体进行了优化。将任何 OpenAI 兼容的编码 CLI 指向您的 Ornith-1.5-35B-A3B 端点(设置 OPENAI_BASE_URL 和 OPENAI_API_KEY),以理解大型代码库、自动化繁琐工作并更快地交付。
OpenCode
# 在 ~/.config/opencode/opencode.json 中将您的本地 Ornith 端点注册为提供程序:
#
# {
# "$schema": "https://opencode.ai/config.json",
# "provider": {
# "ornith": {
# "npm": "@ai-sdk/openai-compatible",
# "name": "Ornith (local)",
# "options": { "baseURL": "http://localhost:8000/v1", "apiKey": "EMPTY" },
# "models": { "ornith-ai/Ornith-1.5-35B-A3B": { "name": "Ornith-1.5-35B-A3B" } }
# }
# }
# }
opencode
引用
如果您觉得我们的工作有帮助,请随意引用我们。
@misc{ornith_1_5,
title = {{Ornith-1.5}: From Self-Scaffolding to Self-Improvement},
url = {https://ornith.ai/ornith_1_5.html},
author = {{Ornith Team}},
year = {2026}
}
相似文章
ornith-ai/Ornith-1.5-35B-A3B
Ornith-1.5-35B-A3B 是一种混合专家AI模型,每个令牌仅激活30亿参数,并在编码和代理基准测试中超越了类似规模的模型,如Qwen和Gemma。
ornith-ai/Ornith-1.5-9B-GGUF
Ornith-1.5是一款新的AI模型,它通过强化学习引入了端到端的自我改进,针对单GPU和边缘设备的高效部署进行了优化。
ornith-ai/Ornith-1.5-9B
Ornith-1.5-9B 是一款9B参数密集型AI模型,通过端到端自我改进来推进基础模型构建,并利用强化学习优化任务生成、框架构建和解决方案部署。它在与Qwen和Gemma等其他模型相比时,在各种基准测试上表现出竞争力性能。
Ornith 1.5:9B密集模型与35B/397B MoE模型
Ornith-1.5是一系列开源大语言模型,拥有9B、35B和397B参数,通过自我改进策略在推理、智能体和编程任务上达到最先进性能。
deepreinforce-ai/Ornith-1.0-9B
deepreinforce-ai 发布了 Ornith-1.0,一个开源编码代理模型系列,在编码基准测试上实现了最先进的性能,提供从 9B 到 397B 的参数规模,采用自我改进训练框架和 MIT 许可证。