Instructions to use ReliquaryForge/Teutonic-I-Reliquary with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ReliquaryForge/Teutonic-I-Reliquary with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ReliquaryForge/Teutonic-I-Reliquary") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ReliquaryForge/Teutonic-I-Reliquary") model = AutoModelForCausalLM.from_pretrained("ReliquaryForge/Teutonic-I-Reliquary", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ReliquaryForge/Teutonic-I-Reliquary with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ReliquaryForge/Teutonic-I-Reliquary" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ReliquaryForge/Teutonic-I-Reliquary", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ReliquaryForge/Teutonic-I-Reliquary
- SGLang
How to use ReliquaryForge/Teutonic-I-Reliquary with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "ReliquaryForge/Teutonic-I-Reliquary" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ReliquaryForge/Teutonic-I-Reliquary", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "ReliquaryForge/Teutonic-I-Reliquary" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ReliquaryForge/Teutonic-I-Reliquary", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ReliquaryForge/Teutonic-I-Reliquary with Docker Model Runner:
docker model run hf.co/ReliquaryForge/Teutonic-I-Reliquary
Teutonic-I-Reliquary
A 9B reasoning and coding agent, post-trained entirely on Bittensor, on untrusted GPUs from RTX 3090s to B200s.
On SWE-bench Verified it resolves 43.6% of issues, against 35.1% for Qwen3.5-9B under the same harness and protocol.
| Benchmark | Teutonic-I-Reliquary | Qwen3.5-9B |
|---|---|---|
| SWE-bench Verified (486 tasks, mini-swe) | 43.6 | 35.1 |
| IFBench | 74.7 | 67.5 |
| AIME 2025 | 91.2 | 86.2 |
| LiveCodeBench | 62.0 | 57.0 |
| AIME 2026 | 89.6 | 86.7 |
| MMLU-Pro | 79.1 | 80.3 |
| TMax (terminal tasks) | 74.8 | 82.2 |
| GPQA Diamond | 68.1 | 81.6 |
pass@1 (%). Both models were evaluated on the Reliquary network itself, with the same harness, budgets and sampling. Protocol below.
How it was trained
Stage 1: SFT on data generated by miners
Before RL, Teutonic-I was fine-tuned on about 4.5B tokens generated by Reliquary miners, including 24,500 multi-turn agentic episodes. On our internal evaluations, SFT took it from 0% to 34% on real-world bug fixing and from 0% to 26% on tool use, close to Qwen3.5-9B on both.
Stage 2: RL on an open network
teutonic-rl-async-v1, October 22 to November 2, 2026.
- 158 optimizer steps over 11 days, 15.7B trained tokens. No step skipped, no gradient clipped.
- Open to any GPU. Anyone with a GPU could join; miners came with 11+ GPU models, consumer and datacenter cards side by side.
- Fully asynchronous. The trainer published a new checkpoint after every step, and no miner ever waited for it.
- 7 environments. SWE tasks, terminal tasks, competitive programming, hard math, DAPO math, tool-use worlds and instruction following, with agentic episodes up to 48 turns and 64k tokens.
- Untrusted by design. Miners send tokens only. The network computes every reward and verifies every rollout.
On TMax, a held-out split of terminal tasks, the model went from 17.2 to 74.6 over the run (evaluated on the network at each checkpoint). Every step is on the run dashboard.
Heterogeneous, untrusted, asynchronous. Each one alone is hard for RL; together, the usual fixes stop working. This run had all three. How: Gumbel substitution, technical report coming soon.
Post-trained entirely on Bittensor
| Stage | Where |
|---|---|
| Base model | Teutonic-I, Teutonic (Subnet 3) |
| SFT data: 4.5B tokens, including 24,500 agentic episodes | Generated by Reliquary miners (Subnet 81) |
| SFT and RL trainer compute | Lium (Subnet 51) |
| Reinforcement-learning rollouts | Reliquary miners |
| Sandboxes for SWE and terminal tasks | Targon (Subnet 4) |
| Evaluation: every benchmark sample | Generated and verified by Reliquary miners |
Lineage details for the base and the SFT stage are in the SFT model card.
Usage
Same architecture and chat template as Qwen3.5-9B (Qwen3_5ForCausalLM), thinking mode.
vllm serve ReliquaryForge/Teutonic-I-Reliquary --max-model-len 65536
Recommended sampling, as in our evaluations: temperature 1.0, top-p 0.95, top-k 20.
from transformers import AutoModelForCausalLM, AutoTokenizer
name = "ReliquaryForge/Teutonic-I-Reliquary"
tok = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name, torch_dtype="auto", device_map="auto")
msgs = [{"role": "user", "content": "Prove that the square root of 2 is irrational."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(ids, max_new_tokens=8192, do_sample=True, temperature=1.0, top_p=0.95, top_k=20)
print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=True))
Evaluation protocol
- Generated on the network. Every sample was produced by Reliquary miners and verified by the network. A sample that fails verification is refused, never corrected. A missing or truncated sample counts as a failure.
- Sampling: temperature 1.0, top-p 0.95, top-k 20, thinking mode, for both models.
- Budgets: 64k tokens for AIME, GPQA Diamond and LiveCodeBench; 32k for IFBench and MMLU-Pro. SWE-bench Verified (mini-swe harness) and TMax: up to 48 turns, 16k tokens per turn.
- Sizes: AIME 2025 and 2026, 30 problems ร 8 samples; GPQA Diamond 198 ร 4; LiveCodeBench 300 ร 2; IFBench 300 ร 2; MMLU-Pro 500 ร 2; SWE-bench Verified 486 ร 2 (the 500 tasks minus 7 that need network access and 7 whose reference patch fails in our sandbox); TMax 200 ร 4.
- Held out. TMax is scored on a split never used in training.
License
Apache-2.0, as its base models.
- Downloads last month
- -
Model tree for ReliquaryForge/Teutonic-I-Reliquary
Base model
Qwen/Qwen3.5-9B-Base
