# vorthalis: hermes-routing-v1

> Hermes Routing v1. Select the best agent for this task Fine-tuned from convaiinnovations/laya.

- Page: https://systemonemodels.ai/vorthalis/hermes-routing-v1
- API: https://api.systemonemodels.ai/v1/models/vorthalis/hermes-routing-v1
- Download: `pip install systemonemodels && systemone pull vorthalis/hermes-routing-v1`

## Facts

| | |
|---|---|
| Maker | vorthalis (https://systemonemodels.ai/vorthalis) |
| Decides | choice, noul, score |
| Architecture | laya |
| Base model | convai-innovations/laya |
| Licence | apache-2.0 |
| Availability | Open weights |
| Latest version | 0.1.0 |

## Reported evaluation

Suite: Hermes Routing Decisions. Numbers are the publisher's own.

- Decision accuracy: 80.0%
- Calibration error (ECE): 0.062
- Median latency: 1761 ms
- p95 latency: 2043 ms

## Model card

# Hermes Routing v1

A [Laya](https://github.com/NandhaKishorM/laya) typed-decision model, fine-tuned with
[System One Studio](https://github.com/biplovgautam/LayaStudio) on an Apple silicon Mac. It
answers the questions below in a single forward pass, with calibrated probabilities and
**zero generated tokens**.

Base model: `convaiinnovations/laya` · method: lora, proper objective · trained in
56 minutes on an Apple silicon Mac.

## Measured on the held-out test split

| Metric | Base model | This model |
|---|---|---|
| Accuracy | 57.8% | **80.0%** [66.2%–89.1%] |
| Calibration error (ECE) | 0.233 | **0.062** |
| Log loss | 1.462 | **0.483** |
| Brier score | 0.576 | **0.149** |
| Decisions scored | 45 | 45 |

Fine-tuning fixed **13** test decisions the base model got wrong and broke **3** it got right (exact McNemar p = 0.021).

Test rows were never trained on. Accuracy intervals are Wilson intervals; the paired test
is an exact McNemar test between the base and the fine-tuned model on the same rows.

## Use it

```bash
pip install systemonemodels
systemone pull vorthalis/hermes-routing-v1
```

```python
import json
import laya_mlx as laya  # pip install laya-mlx, on Apple silicon
from systemone import snapshot_download

path = snapshot_download("vorthalis/hermes-routing-v1")
agent = laya.load(str(path))
questions = json.loads((path / "questions.json").read_text())
print(agent.predict("your text here", questions)["answers"])
```

Ask it **these** questions: the instructions and option texts are part of the model's
input, so changing them changes the task it was tuned for.

```json
{
  "platform": {
    "type": "choice",
    "instructions": "Select the best agent for this task",
    "criteria": [
      "coder",
      "researcher",
      "analyst",
      "writer",
      "architect"
    ]
  },
  "parallelizable": {
    "type": "noul",
    "instructions": "Can run in parallel with other tasks?"
  },
  "complexity": {
    "type": "score",
    "instructions": "Rate the task complexity",
    "criteria": [
      "trivial",
      "moderate",
      "complex",
      "critical"
    ]
  }
}
```

The same folder also loads in the upstream PyTorch `laya` package on Linux and NVIDIA, and
System One Studio can export it to ONNX.

**NoulXP:** this version carries a NoulXP package in `noulxp/` (noulxp/0.1, encoder-markers profile: an ONNX graph over these weights). Before publishing, System One Studio recorded this fine-tune's own answers to NoulXP's 52 conformance requests with the `laya` package 0.3.5 (float32, CPU), and the NoulXP reference runtime (noulxp 0.4.0) reproduced 52 of 52 cases on the CPU (max |Δp| 5.6e-05, tolerance 0.01). systemonemodels.tech runs the same check before it shows the model as NoulXP compatible.

## Provenance

```json
{
  "base_model": "convaiinnovations/laya",
  "hyperparameters": {
    "method": "lora",
    "objective": "proper",
    "epochs": 4,
    "batch_size": 8,
    "grad_accum": 2,
    "lr": 0.0002,
    "head_lr": 0.0001,
    "lora_rank": 16,
    "lora_alpha": 32,
    "lora_dropout": 0.05,
    "dora": false,
    "rslora": false,
    "loraplus_ratio": 1.0,
    "lora_layers": 0,
    "full_layers": 4,
    "head_dropout": 0.1,
    "weight_decay": 0.01,
    "warmup": 0.06,
    "max_grad_norm": 1.0,
    "shuffle_options": true,
    "class_weighting": "none",
    "patience": 2,
    "grad_checkpoint": "auto",
    "precision": "bfloat16",
    "seed": 13
  },
  "train_decisions": 363,
  "best_epoch": 2,
  "temperature": [
    0.8739,
    0.9623,
    1.4183
  ],
  "temperature_by_options": {},
  "dataset_sha256": "cfec1ad1b19381768fae3a5efab91aab1f81726dc043417ec1d3fa6bfccefa00",
  "trained_on": "2026-10-13T20:04:17"
}
```

## License and attribution

Apache-2.0. Laya and its pretrained weights are by
[Convai Innovations](https://github.com/NandhaKishorM/laya); this checkpoint is a
fine-tune of `convaiinnovations/laya` and carries the same licence. Fine-tuned and published with
[System One Studio](https://github.com/biplovgautam/LayaStudio).

---

From System One Models — https://systemonemodels.ai/ · every System One model: https://systemonemodels.ai/system-one-models
