Views
No views yet
"Standing on the shoulders of giants." — The Ornith architecture and self-improving RL training framework remain the backbone of this release. PaxLabs' contribution is the Matrix-specific tuning and agentic integration layer.
| Variant | Architecture | Use Case |
|---|---|---|
| Matrix.o1-Ornith-9B-Dense | Dense | Edge deployment, single-GPU inference |
| Matrix.o1-Ornith-31B-Dense | Dense | Balanced performance/cost |
| Matrix.o1-Ornith-35B-MoE | Mixture of Experts | High-throughput agent clusters |
| Matrix.o1-Ornith-397B-MoE | Mixture of Experts | Full-scale Matrix orchestration |
| Matrix.o1-Ornith-397B | Ornith-1.0-397B | Qwen3.5-397B | Qwen3.7-Max | GLM-5.2-744B | Minimax-M3-428B | DeepSeek-V4-Pro-1.6T | Claude Opus 4.8 | |
|---|---|---|---|---|---|---|---|---|
| Agentic Coding | ||||||||
| Terminal-Bench 2.1 (Terminus-2) | 77.5 | 77.5 | 53.5 | 73.5 | 81.0 | 64 | 64 | 85 |
| Terminal-Bench 2.1 (Claude Code) | 78.2 | 78.2 | 48.6 | 69.8 | 82.7 | - | 66.5 | 78.9 |
| SWE-bench Verified | 82.4 | 82.4 | 76.4 | 80.4 | - | - | 80.6 | 87.6 |
| SWE-bench Pro | 62.2 | 62.2 | 51.6 | 60.6 | 62.1 | 59 | 55.4 | 69.2 |
| SWE-bench Multilingual | 78.9 | 78.9 | 69.3 | 78.3 | - | - | 76.2 | - |
| NL2Repo | 48.2 | 48.2 | 36.8 | 47.2 | 48.9 | 42.1 | - | 69.7 |
| Claw-eval Avg | 77.1 | 77.1 | 70.7 | 65.2 | - | - | 75.8 | - |
| SWE Atlas - QnA | 41.2 | 41.2 | 20.4 | - | - | 37.9 | 27.2 | 48.8 |
| SWE Atlas - RF | 42.6 | 42.6 | 18.4 | - | - | - | - | 46.7 |
| SWE Atlas - TW | 39.1 | 39.1 | 18.5 | - | - | 30.8 | - | - |
| Matrix-Specific Agentic Tasks | ||||||||
| Matrix Agent Swarm Coordination | 94.2 | 72.1 | 68.5 | 74.3 | - | - | - | - |
| Cortex Memory Orchestration | 91.7 | 69.8 | 65.2 | 71.6 | - | - | - | - |
| Tachyon EVM Tool-Calling | 89.3 | 64.5 | 58.1 | 62.4 | - | - | - | - |
| Paxeer Contract Reasoning | 96.8 | 71.3 | 66.9 | 73.2 | - | - | - | - |
<think> … </think> block before the final answer. The serving recipes below enable a reasoning parser so the chain-of-thought is returned in a separate reasoning_content field, and a tool-call parser so the model's <tool_call> blocks are surfaced as OpenAI-style tool_calls.--tensor-parallel-size / --tp to the number of GPUs you have.vllm serve paxlabs/Matrix.o1-Ornith-1.0-397B --served-model-name Matrix.o1-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-codepython -m sglang.launch_server --model-path paxlabs/Matrix.o1-Ornith-1.0-397B --served-model-name Matrix.o1-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 qwen3transformers >= 5.8.1.1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_name = "paxlabs/Matrix.o1-Ornith-1.0-397B"
4
5tokenizer = AutoTokenizer.from_pretrained(model_name)
6model = AutoModelForCausalLM.from_pretrained(
7 model_name,
8 dtype="auto",
9 device_map="auto",
10)
11
12messages = [
13 {"role": "user", "content": "Write a Python function is_prime(n). Keep it short."}
14]
15text = tokenizer.apply_chat_template(
16 messages,
17 tokenize=False,
18 add_generation_prompt=True,
19)
20
21inputs = tokenizer(text, return_tensors="pt").to(model.device)
22generated = model.generate(
23 **inputs,
24 max_new_tokens=512,
25 do_sample=True,
26 temperature=0.6,
27 top_p=0.95,
28 top_k=20,
29)
30output_ids = generated[0][inputs.input_ids.shape[1]:]
31
32# The reply contains a thinking ... reasoning block followed by the answer.
33content = tokenizer.decode(output_ids, skip_special_tokens=True)
34print(content) reasoning marker:1text = tokenizer.decode(output_ids, skip_special_tokens=True)
2if " reasoning" in text:
3 reasoning, answer = text.split(" reasoning", 1)
4 reasoning = reasoning.replace(" thinking", "").strip()
5 answer = answer.strip()
6else:
7 reasoning, answer = "", text.strip()1from openai import OpenAI
2
3client = OpenAI(
4 base_url="http://localhost:8000/v1",
5 api_key="EMPTY", # any non-empty string works for a local server
6)
7
8response = client.chat.completions.create(
9 model="Matrix.o1-Ornith-1.0-397B",
10 messages=[
11 {"role": "user", "content": "Write a one-line Python lambda that squares a number."}
12 ],
13 temperature=0.6,
14 top_p=0.95,
15 max_tokens=1024,
16)
17
18message = response.choices[0].message
19# reasoning_content holds the thinking trace; content holds the final answer.
20print("reasoning:", getattr(message, "reasoning_content", None))
21print("answer:", message.content)tool_calls field:1tools = [
2 {
3 "type": "function",
4 "function": {
5 "name": "get_weather",
6 "description": "Get the current weather for a city",
7 "parameters": {
8 "type": "object",
9 "properties": {"city": {"type": "string"}},
10 "required": ["city"],
11 },
12 },
13 }
14]
15
16response = client.chat.completions.create(
17 model="Matrix.o1-Ornith-1.0-397B",
18 messages=[{"role": "user", "content": "What is the weather in Paris right now?"}],
19 tools=tools,
20 tool_choice="auto",
21 temperature=0.6,
22 max_tokens=2048,
23)
24
25tool_call = response.choices[0].message.tool_calls[0]
26print(tool_call.function.name, tool_call.function.arguments)
27# -> get_weather {"city": "Paris"}curl at the same /v1/chat/completions endpoint.1import os
2from openai import OpenAI
3
4client = OpenAI(
5 base_url=os.getenv("OPENAI_BASE_URL", "http://localhost:8000/v1"),
6 api_key=os.getenv("OPENAI_API_KEY", "EMPTY"),
7)
8
9tools = [
10 {
11 "type": "function",
12 "function": {
13 "name": "run_shell",
14 "description": "Run a shell command and return its output.",
15 "parameters": {
16 "type": "object",
17 "properties": {
18 "command": {"type": "string", "description": "The command to run"}
19 },
20 "required": ["command"],
21 },
22 },
23 }
24]
25
26messages = [{"role": "user", "content": "List the Python files in the current directory."}]
27
28response = client.chat.completions.create(
29 model="paxlabs/Matrix.o1-Ornith-1.0-397B",
30 messages=messages,
31 tools=tools,
32 temperature=0.6,
33 top_p=0.95,
34)
35print(response.choices[0].message)1# Hermes talks to any OpenAI-compatible endpoint — point it at your Matrix.o1-Ornith server.
2export OPENAI_BASE_URL="http://localhost:8000/v1"
3export OPENAI_API_KEY="EMPTY"
4export MODEL="paxlabs/Matrix.o1-Ornith-1.0-397B"1# OpenClaw talks to any OpenAI-compatible endpoint — point it at your Matrix.o1-Ornith server.
2export OPENAI_BASE_URL="http://localhost:8000/v1"
3export OPENAI_API_KEY="EMPTY"
4export OPENAI_MODEL="paxlabs/Matrix.o1-Ornith-1.0-397B"1pip install unsloth
2
3# Load Matrix.o1-Ornith for fast local inference or fine-tuning (Python):
4# from unsloth import FastLanguageModel
5# model, tokenizer = FastLanguageModel.from_pretrained(
6# "paxlabs/Matrix.o1-Ornith-1.0-397B",
7# max_seq_length=262144,
8# load_in_4bit=True,
9# )1pip install openhands-ai
2
3# OpenHands routes through LiteLLM; the "openai/" prefix selects the OpenAI-compatible path.
4export LLM_MODEL="openai/paxlabs/Matrix.o1-Ornith-1.0-397B"
5export LLM_BASE_URL="http://localhost:8000/v1"
6export LLM_API_KEY="EMPTY"
7
8# Launch the CLI (or run the official OpenHands Docker image with the same env vars).
9openhandsOPENAI_BASE_URL and OPENAI_API_KEY) to understand large codebases, automate tedious work, and ship faster.1# Register your local Matrix.o1-Ornith endpoint as a provider in ~/.config/opencode/opencode.json:
2#
3# {
4# "$schema": "https://opencode.ai/config.json",
5# "provider": {
6# "matrix_o1_ornith": {
7# "npm": "@ai-sdk/openai-compatible",
8# "name": "Matrix.o1-Ornith (local)",
9# "options": { "baseURL": "http://localhost:8000/v1", "apiKey": "EMPTY" },
10# "models": { "paxlabs/Matrix.o1-Ornith-1.0-397B": { "name": "Matrix.o1-Ornith-1.0-397B" } }
11# }
12# }
13# }
14
15opencode1# Example: Tachyon EVM tool schema
2{
3 "type": "function",
4 "function": {
5 "name": "tachyon_evm_execute",
6 "description": "Execute a transaction or call on the Tachyon EVM engine",
7 "parameters": {
8 "type": "object",
9 "properties": {
10 "contract_address": {"type": "string", "description": "Target contract address"},
11 "function_signature": {"type": "string", "description": "Function selector or full ABI"},
12 "args": {"type": "array", "description": "Function arguments"},
13 "value": {"type": "string", "description": "Native Paxeer value to send"}
14 },
15 "required": ["contract_address", "function_signature"]
16 }
17 }
18}
19
20# Example: Cortex Memory tool schema
21{
22 "type": "function",
23 "function": {
24 "name": "cortex_memory_query",
25 "description": "Query the Cortex distributed memory layer",
26 "parameters": {
27 "type": "object",
28 "properties": {
29 "query_type": {"type": "string", "enum": ["retrieve", "store", "search"]},
30 "key": {"type": "string"},
31 "value": {"type": "string"},
32 "namespace": {"type": "string", "default": "default"}
33 },
34 "required": ["query_type", "key"]
35 }
36 }
37}1@misc{matrix_o1_ornith_397b,
2 title = {{Matrix.o1-Ornith-1.0-397B}: Agentic Coding for the Matrix Ecosystem},
3 url = {https://matrixmcl.com/models/matrix-o1-ornith},
4 author = {{PaxLabs Team}},
5 year = {2026},
6 note = {Based on Ornith-1.0-397B by DeepReinforce AI}
7}
8
9@misc{ornith_397b,
10 title = {{Ornith-1.0-397B}: Agentic Coding, Open to All},
11 url = {https://deep-reinforce.com/ornith_1_0.html},
12 author = {{DeepReinforce Team}},
13 year = {2026}
14}