/ Модель

Характеристики

Контекст
262 144 токена
Размер весов
794 ГБ
Лицензия
MIT
Архитектура
qwen3_5_moe · dense
Библиотека
transformers
Опубликована
23 июн 2026

Ornith-1.0-397B

Генерация текстаТекст → текст7 профессий

Крупная модель MoE на базе Qwen 3.5 для агентного программирования, решения задач разработки и работы с инструментами.

177 тыс.скачиваний за 30 дней261лайквеса обновлены25 июн 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки5

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

  • SWE-bench/SWE-bench_Multilingual

    score · выше — лучше

    Результат

    78,9

    swe_bench_multilingual_%_resolved 78,9
    Hugging Face Leaderboards

    Публичная таблицаревизия не подтверждена

  • SWE-bench/SWE-bench_Verified

    score · выше — лучше

    Результат

    82,4

    swe_bench_%_resolved 82,4
    Hugging Face Leaderboards

    Публичная таблицаревизия не подтверждена

  • ScaleAI/SWE-bench_Pro

    score · выше — лучше

    Результат

    62,2

    SWE_Bench_Pro 62,2
    Hugging Face Leaderboards

    Публичная таблицаревизия не подтверждена

  • harborframework/terminal-bench-2.1

    score · выше — лучше

    Результат

    77,5

    Общий результат 78,2terminalbench_2_1 78,2terminalbench_2_1 77,5
    Hugging Face Leaderboards

    Публичная таблицаревизия не подтверждена

  • claw-eval/Claw-Eval

    score · выше — лучше

    Результат

    77,1

    general 77,1
    Hugging Face Leaderboards

    Публичная таблицаревизия не подтверждена

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Ornith-1.0-397B — открытая модель семейства Ornith от Ornith AI для агентного программирования. Она дообучена с применением обучения с подкреплением на базе Qwen 3.5; в метаданных указаны архитектура семейства qwen3_5_moe и класс Qwen3_5MoeForConditionalGeneration. Репозиторий содержит веса Safetensors, а лицензия — MIT.

Модель предназначена для создания и использования coding-агентов: она помогает разбираться в крупных кодовых базах, решать задачи разработки через терминальные инструменты и вызывать подключённые инструменты. В README заявлены высокие результаты на Terminal-Bench 2.1, SWE-Bench, NL2Repo и OpenClaw. Для развёртывания описан OpenAI-совместимый сервер; пример для vLLM использует 8 GPU и контекст до 262 144 токенов. Это крупная модель MoE на 397 млрд параметров, поэтому запуск требует мощной мног GPU инфраструктуры, несмотря на заявление README об эффективном развёртывании.

Сценарии применения

  • решение задач разработки в терминальном coding-агенте
  • поиск и исправление ошибок в кодовой базе
  • автоматизация задач программирования с вызовом инструментов
  • ответы на вопросы по крупному репозиторию
  • выполнение задач SWE-Bench-подобного ремонта программ

Ограничения

Для запуска требуются значительные вычислительные ресурсы; пример развёртывания использует узел с 8 GPU по 80 ГБ. Заявленные результаты основаны на бенчмарках из README и не гарантируют качество на произвольных задачах.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Ornith Blog

Ornith-1.0-397B

Aloha! 🌺 Today, we are releasing Ornith-1.0, a self-improving family of open-source models for agentic coding.

Highlights:

  • State-of-the-Art Coding Agents: Available in 9B-Dense, 31B-Dense, 35B-MoE, and 397B-MoE (post-trained on top of Gemma 4 and Qwen 3.5), achieving state-of-the-art performance among open-source models of comparable size on coding benchmarks such as Terminal-Bench 2.1, SWE-Bench, NL2Repo and OpenClaw.
  • Self-Improving Training Framework: Ornith-1.0 employs RL to learn to generate not only solution rollouts, but also the scallfold that drive those rollouts. By jointly optimizing the scaffold and the resulting solution, the model discovers better search trajectories and generates higher-quality solutions.
  • Licence: MIT licensed, globally accessible, and free from regional limitations.

Ornith 1.0 397B

This model card documents Ornith-1.0-397B, the lightweight member of the Ornith family, designed for efficient single-GPU deployment.

Benchmarks

Quickstart

Serving Ornith-1.0-397B

The two recipes below stand up an OpenAI-compatible server on a single 8×80GB GPU node (tensor-parallel 8). Adjust --tensor-parallel-size / --tp to the number of GPUs you have.

vLLM

vllm serve deepreinforce-ai/Ornith-1.0-397B \
    --served-model-name Ornith-1.0-397B \
    --tensor-parallel-size 8 \
    --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 deepreinforce-ai/Ornith-1.0-397B \
    --served-model-name Ornith-1.0-397B \
    --tp 8 \
    --host 0.0.0.0 --port 8000 \
    --context-length 262144 \
    --mem-fraction-static 0.85 \
    --tool-call-parser qwen3_coder \
    --reasoning-parser qwen3

Hugging Face Transformers

For a quick local test (or to script offline generation), load the model directly with Transformers. Make sure you have a recent release installed — see the Transformers installation guide; Ornith-1.0-397B requires transformers >= 5.8.1.

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "deepreinforce-ai/Ornith-1.0-397B"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    dtype="auto",
    device_map="auto",
)

messages = [
    {"role": "user", "content": "Write a Python function is_prime(n). Keep it short."}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)

inputs = tokenizer(text, return_tensors="pt").to(model.device)
generated = model.generate(
    **inputs,
    max_new_tokens=512,
    do_sample=True,
    temperature=0.6,
    top_p=0.95,
    top_k=20,
)
output_ids = generated[0][inputs.input_ids.shape[1]:]

# The reply contains a <think> ... </think> reasoning block followed by the answer.
content = tokenizer.decode(output_ids, skip_special_tokens=True)
print(content)

To split the reasoning trace from the final answer, parse on the </think> marker:

text = tokenizer.decode(output_ids, skip_special_tokens=True)
if "</think>" in text:
    reasoning, answer = text.split("</think>", 1)
    reasoning = reasoning.replace("<think>", "").strip()
    answer = answer.strip()
else:
    reasoning, answer = "", text.strip()

Using Ornith-1.0-397B via the Chat Completions API

Once a vLLM or SGLang server is running, talk to it with any OpenAI-compatible client.

Basic Usage

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="EMPTY",  # any non-empty string works for a local server
)

response = client.chat.completions.create(
    model="Ornith-1.0-397B",
    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 holds the <think> trace; content holds the final answer.
print("reasoning:", getattr(message, "reasoning_content", None))
print("answer:", message.content)

You can also stream tokens, or hand the model tools — Ornith-1.0-397B emits well-formed function calls that the server parses into the standard tool_calls field:

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.0-397B",
    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"}

You can point any OpenAI-compatible SDK (Python, Node.js, etc.) or curl at the same /v1/chat/completions endpoint.

Agentic Usage

Ornith-1.0-397B excels in tool-calling and agentic coding capabilities.

Agent Frameworks

Because Ornith-1.0-397B exposes an OpenAI-compatible endpoint with tool calling, it works out of the box with standard agent frameworks. Below is a minimal example that connects Ornith-1.0-397B to tools through an MCP server.

import os
from openai import OpenAI

client = OpenAI(
    base_url=os.getenv("OPENAI_BASE_URL", "http://localhost:8000/v1"),
    api_key=os.getenv("OPENAI_API_KEY", "EMPTY"),
)

tools = [
    {
        "type": "function",
        "function": {
            "name": "run_shell",
            "description": "Run a shell command and return its output.",
            "parameters": {
                "type": "object",
                "properties": {
                    "command": {"type": "string", "description": "The command to run"}
                },
                "required": ["command"],
            },
        },
    }
]

messages = [{"role": "user", "content": "List the Python files in the current directory."}]

response = client.chat.completions.create(
    model="deepreinforce-ai/Ornith-1.0-397B",
    messages=messages,
    tools=tools,
    temperature=0.6,
    top_p=0.95,
)
print(response.choices[0].message)

Examples of using Ornith with agent harness:

Hermes Agent

# Hermes talks to any OpenAI-compatible endpoint — point it at your Ornith server.
export OPENAI_BASE_URL="http://localhost:8000/v1"
export OPENAI_API_KEY="EMPTY"
export MODEL="deepreinforce-ai/Ornith-1.0-397B"

OpenClaw

# OpenClaw talks to any OpenAI-compatible endpoint — point it at your Ornith server.
export OPENAI_BASE_URL="http://localhost:8000/v1"
export OPENAI_API_KEY="EMPTY"
export OPENAI_MODEL="deepreinforce-ai/Ornith-1.0-397B"

Unsloth Studio

pip install unsloth

# Load Ornith for fast local inference or fine-tuning (Python):
#   from unsloth import FastLanguageModel
#   model, tokenizer = FastLanguageModel.from_pretrained(
#       "deepreinforce-ai/Ornith-1.0-397B",
#       max_seq_length=262144,
#       load_in_4bit=True,
#   )

OpenHands

pip install openhands-ai

# OpenHands routes through LiteLLM; the "openai/" prefix selects the OpenAI-compatible path.
export LLM_MODEL="openai/deepreinforce-ai/Ornith-1.0-397B"
export LLM_BASE_URL="http://localhost:8000/v1"
export LLM_API_KEY="EMPTY"

# Launch the CLI (or run the official OpenHands Docker image with the same env vars).
openhands

Coding CLIs

Ornith-1.0-397B is optimized for terminal-based coding agents. Point any OpenAI-compatible coding CLI at your Ornith-1.0-397B endpoint (set OPENAI_BASE_URL and OPENAI_API_KEY) to understand large codebases, automate tedious work, and ship faster.

OpenCode

# Register your local Ornith endpoint as a provider in ~/.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": { "deepreinforce-ai/Ornith-1.0-397B": { "name": "Ornith-1.0-397B" } }
#     }
#   }
# }

opencode

Citation

If you find our work helpful, feel free to give us a cite.

@misc{ornith_397b,
    title = {{Ornith-1.0-397B}: Agentic Coding, Open to All},
    url = {https://deep-reinforce.com/ornith_1_0.html},
    author = {{DeepReinforce Team}},
    year = {2026}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

vLLM

Нельзя запустить

Модель не помещается даже в 8 × 80 ГБ.

Класс архитектуры
Qwen3_5MoeForConditionalGeneration
Ревизия весов
5e3e761

0 моделей