ornith-ai/Ornith-1.5-9B-GGUF
摘要
Ornith-1.5是一款新的AI模型,它通过强化学习引入了端到端的自我改进,针对单GPU和边缘设备的高效部署进行了优化。
查看缓存全文
缓存时间: 2026/08/23 10:00
ornith-ai/Ornith-1.5-9B-GGUF · Hugging Face
来源:https://huggingface.co/ornith-ai/Ornith-1.5-9B-GGUF
叽叽喳喳!🐦 我们推出 Ornith-1.5,这是在通过端到端自我改进构建基础模型方面迈出的重要一步。Ornith-1.5 扩展了 Ornith-1.0(该模型基于 Qwen3.5 和 Gemma4 构建,并通过额外的持续预训练、中期训练和后训练开发而成),将自我改进循环从脚手架与推演优化扩展到了联合优化任务生成、脚手架构建和解决方案推演。Ornith-1.5 不再依赖固定的人工策划任务集和手动设计的工具,而是持续生成新的训练任务、发现解决这些任务的有效策略,并通过强化学习改进策略。关于任务、工具和推演奖励设计的更多细节,请参阅我们的博客(https://ornith.ai/ornith_1_5.html)。
Ornith 1.5 9B 基准测试结果
Ornith 1.5 9B
本文档记录 Ornith-1.5-9B,这是 Ornith-1.5 家族中最轻量的成员——一个 9B 参数的密集模型,设计用于高效的单 GPU 部署,并可通过其量化版本 Ornith-1.5-9B-Mobile 在移动设备上进行边缘部署。
基准测试
| 基准测试项目 | Ornith-1.5-9B | Ornith-1.0-9B | Qwen3.5-9B | Qwen3.6-35B-A3B | Gemma-4-31B |
|---|---|---|---|---|---|
| 编码 | |||||
| Terminal-Bench 2.1 (Terminus-2) | 46.2 | 43.1 | 21.3 | 52.5 | 42.1 |
| Terminal-Bench 2.1 (Claude Code) | 47 | 40.6 | 18.9 | 49.2 | - |
| SWE-bench Verified | 70.6 | 69.4 | 53.2 | 73.4 | 52 |
| SWE-bench Pro | 47.5 | 42.9 | 31.3 | 49.5 | 35.7 |
| SWE-bench Multilingual | 54.4 | 52 | 39.7 | 67.2 | 51.7 |
| NL2Repo | 32.4 | 27.2 | 16.2 | 29.4 | 15.5 |
| SWE Atlas - QnA | 20.6 | 17.9 | 9.2 | 15.5 | - |
| 推理 | |||||
| HLE (no tools) | 20.2 | 16.8 | 14.7 | 21.4 | 19.5 |
| HLE (with tools) | 30.5 | 26.4 | 24.5 | 28.9 | 26.5 |
| GPQA Diamond | 86.4 | 82.5 | 81.7 | 86 | 84.3 |
| 智能体/工具使用 | |||||
| MCP-Atlas | 54.2 | 49.4 | 46.8 | 62.8 | 55 |
| Toolathlon-Verified | 41.2 | 33.4 | 29.6 | 41.7 | 52.8 |
| WideSearch | 59.5 | 55.8 | 53.6 | 60.1 | 54.2 |
| BrowseComp | 56.4 | 44.8 | 41.5 | 62 | - |
| ClawEval | 66.5 | 63.1 | 53.2 | 68.7 | 48.5 |
* 报告的所有 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 内存,结果为 5 次运行的平均值。我们调整了 Qwen 对话模板以确保训练和推理的一致性(https://huggingface.co/ornith-ai/Ornith-1.5-9B/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 and 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-9B 是一个推理模型:默认情况下,助手回复会在最终答案之前先输出一个 ...</think> 块。下面的提供方案启用了推理解析器,使思维链在单独的 reasoning_content 字段中返回,并启用工具调用解析器,使模型的 </think>...</think> 块以 OpenAI 风格的 tool_calls 形式呈现。
提供 Ornith-1.5-9B 服务需要较新的运行时环境:
- Transformers ≥ 5.8.1
- vLLM ≥ 0.19.1
- SGLang ≥ 0.5.9
推荐的采样参数:
- 用于通用任务:
temperature=1.0,top_p=0.95,top_k=20,min_p=0.0,presence_penalty=1.5,repetition_penalty=1.0 - 用于精确编码任务:
temperature=0.6,top_p=0.95,top_k=20,min_p=0.0,presence_penalty=0.0,repetition_penalty=1.0
提供 Ornith-1.5-9B 服务
Ornith-1.5-9B 是一个密集的 ~9B 模型(在 bf16 精度下约 19 GB),因此可以在单块 80GB GPU 上提供服务。下面的方案启动一个兼容 OpenAI 的服务器;如果需要跨多个 GPU 进行分片,可以添加 --tensor-parallel-size / --tp 参数。
-
vLLM
vllm serve ornith-ai/Ornith-1.5-9B \ --served-model-name Ornith-1.5-9B \ --host 0.0.0.0 --port 8000 \ --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-9B \ --served-model-name Ornith-1.5-9B \ --host 0.0.0.0 --port 8000 \ --context-length 262144 \ --mem-fraction-static 0.85 \ --tool-call-parser qwen3_coder \ --reasoning-parser qwen3
用于长上下文
Ornith-1.5-9B 处理的上下文窗口最大可达 262,144 个 token。当任务的组合输入和输出必须超出此限制时,我们建议使用 RoPE 缩放来扩展有效窗口——我们验证过的技术是 YaRN,它已内置在 vLLM 和 SGLang 中。在缩放因子为 4.0 时,可用窗口大致扩展到 100 万 token。你可以通过以下两种方式之一启用 YaRN:
-
编辑检查点的
config.json。 在模型配置中添加rope_scaling块:{ "rope_scaling": { "rope_type": "yarn", "factor": 4.0, "original_max_position_embeddings": 262144 } } -
在启动时覆盖。 保持检查点不变,并在上面的启动命令中添加等效标志。
- vLLM:
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve ornith-ai/Ornith-1.5-9B \ ... \ --hf-overrides '{"rope_scaling": {"rope_type": "yarn", "factor": 4.0, "original_max_position_embeddings": 262144}}' \ --max-model-len 1000000 - SGLang:
SGLANG_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
- vLLM:
📝 注意
开源运行时静态地实现 YaRN:相同的缩放因子应用于每个请求,无论其长度如何,这可能会轻微影响普通长度输入的质量。仅在你的工作负载确实需要更长窗口时才启用 rope_scaling,并根据它来设置 factor——目标窗口大小大约是 factor × 262,144,因此如果你的请求上限约为 524,288 个 token,factor: 2.0 是更好的设置。
通过 Chat Completions API 使用 Ornith-1.5-9B
一旦 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-9B",
messages=[
{"role": "user", "content": "写一个对数字求平方的 Python 一行式 lambda 表达式。"}
],
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-9B 会生成格式正确的函数调用,服务器会将其解析为标准的 tool_calls 字段:
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取城市的当前天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
},
}
]
response = client.chat.completions.create(
model="Ornith-1.5-9B",
messages=[{"role": "user", "content": "巴黎现在的天气怎么样?"}],
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-9B 暴露了一个带工具调用能力的兼容 OpenAI 的端点,它开箱即用地与标准智能体框架配合使用。
使用 Ornith 与智能体的示例:
Ollama
ollama run ornith-1.5:9b
Atomic.chat
# 两种运行时都加载 Ornith 的 GGUF 构建版本(在 ornith-ai/Ornith-1.5-9B-GGUF 发布)。
# llama.cpp — 在端口 8000 上提供兼容 OpenAI 的 API。
llama-server -hf hf.co/ornith-ai/Ornith-1.5-9B-GGUF --port 8000 -c 262144
llama.cpp
# 两种运行时都加载 Ornith 的 GGUF 构建版本(在 ornith-ai/Ornith-1.5-9B-GGUF 发布)。
# llama.cpp — 在端口 8000 上提供兼容 OpenAI 的 API。
llama-server -hf hf.co/ornith-ai/Ornith-1.5-9B-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-9B"
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-9B"
Unsloth Studio
pip install unsloth
# 加载 Ornith 以进行快速本地推理或微调(Python):
# from unsloth import FastLanguageModel
# model, tokenizer = FastLanguageModel.from_pretrained(
# "unsloth/Ornith-1.5-9B-GGUF",
# max_seq_length=262144,
# load_in_4bit=True,
# )
编码 CLI
Ornith-1.5-9B 针对基于终端的编码代理进行了优化。将任何兼容 OpenAI 的编码 CLI 指向你的 Ornith-1.5-9B 端点(设置 OPENAI_BASE_URL 和 OPENAI_API_KEY),即可理解大型代码库、自动化繁琐工作并更快交付。
OpenCode
# 将你的本地 Ornith 端点注册为 ~/.config/opencode/opencode.json 中的提供者:
# {
# "$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-9B": { "name": "Ornith-1.5-9B" } }
# }
# }
# }
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-GGUF
Ornith-1.5-35B-A3B 是一款新的AI基础模型,通过采用端到端自我改进,在编码和代理基准测试上取得了卓越的性能,每个令牌仅激活约30亿个参数。
ornith-ai/Ornith-1.5-9B
Ornith-1.5-9B 是一款9B参数密集型AI模型,通过端到端自我改进来推进基础模型构建,并利用强化学习优化任务生成、框架构建和解决方案部署。它在与Qwen和Gemma等其他模型相比时,在各种基准测试上表现出竞争力性能。
ornith-ai/Ornith-1.5-35B-A3B
Ornith-1.5-35B-A3B 是一种混合专家AI模型,每个令牌仅激活30亿参数,并在编码和代理基准测试中超越了类似规模的模型,如Qwen和Gemma。
deepreinforce-ai/Ornith-1.0-35B-GGUF
deepreinforce-ai 发布了 Ornith-1.0-35B-GGUF,这是一个最先进的开源编程智能体模型,它使用自我改进的强化学习来联合优化框架和解决方案生成,在编程基准测试上达到了SOTA性能。
Ornith-1.0:用于智能体编程的自我改进开源模型
Ornith-1.0 是一系列用于智能体编程的开源自我改进模型,通过联合优化脚手架和解决方案展开的强化学习,在编程基准测试中实现了最先进的性能。