FxAI-decision-model / README.md
RudranshAgnihotri's picture
Release FxAI decision model
f346832
|
Raw History Blame Contribute Delete
6.27 kB
---
tags:
- decision-model
- classification
- text-classification
license: apache-2.0
language:
- en
library_name: transformers
pipeline_tag: text-classification
inference: false
---
# FxAI Decision Model
![FxAI Decision Model](assets/fxai-decision-model-banner.png)
FxAI Decision Model is a trained decision classifier on the
[Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B) architecture.
Given a state, a question and up to 255 candidate options, it returns a
calibrated probability distribution over those options.
The repository contains the complete 26.1B checkpoint and the Futurix
Decision SDK.
The model completed the **Decision Index 0.3 public suite** with a public
score of **62.26**.
## Model details
- **Task:** typed decision classification and ranking
- **Architecture:** Qwen3.8-27B multimodal backbone
- **Parameters:** 26.1B
- **Context limit:** 8,192 tokens through the bundled decision interface
- **Options:** 2–255 per question through the Decision SDK
- **Attention:** noncausal full attention in full-attention layers
- **Pooling:** last token
- **Output:** calibrated option probabilities
- **Languages evaluated:** primarily English
## Intended use
This model is intended for routing, intent classification, multiple-choice
decisions, tool selection and structured scoring.
It is not intended for autonomous high-stakes decisions, safety-critical
control, medical or legal advice, or use without application-specific
evaluation and human review.
## Inference
This repository includes the Futurix Decision SDK under `futurix_decision/`.
Use that runtime for decision probabilities. `transformers.AutoModel` alone
does not return them. The Hugging Face Inference widget is disabled.
### Requirements
- Linux, Python 3.12 and an NVIDIA CUDA GPU with bfloat16 support.
- The checkpoint is about 29 GB. A 48 GB GPU is recommended for inputs up
to 8,192 tokens.
- CPU inference is supported but is not a practical way to run this 27B
model.
Clone the repository with Git LFS, create an isolated environment and
install the runtime used for verification:
```bash
git lfs install
git clone https://huggingface.co/Futurix-AI/FxAI-decision-model
cd FxAI-decision-model
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
python3 example.py --device cuda:0
```
To try another input:
```bash
python3 example.py \
--state "I was charged twice and need a refund." \
--option billing="Charges, invoices and refunds" \
--option support="Technical integration errors" \
--option sales="Questions about purchasing"
```
### Python API
```python
from pathlib import Path
from futurix_decision import DecisionInput, load_model
checkpoint = Path("/path/to/FxAI-decision-model")
model = load_model(
checkpoint, family="fxai", device="cuda:0",
max_image_pixels=512 * 512,
)
result = model.decide(DecisionInput(
state="My integration fails",
question="Which team?",
options=["billing", "support"],
candidate_descriptions=["Charges and refunds", "Integration errors"],
))
print(result.to_dict())
```
The SDK supports typed `choice`, `noul`, and `score` decisions with 2–255
options. The FxAI runtime supports image inputs, enforces an 8,192-token
limit without silent truncation, and returns calibrated option
probabilities.
Convenience methods use the same runtime:
```python
choice = model.choice(
state="The customer was charged twice.",
question="Which team should handle this?",
choices=["billing", "support"],
)
binary = model.noul(state="The invoice is paid.", question="Was it paid?")
score = model.score(
state="The response is mostly correct.",
question="Rate its quality.",
min_score=0,
max_score=5,
)
```
Training and benchmark checks were **text-only**. Image accuracy and safety
have not been independently evaluated.
## Training details
The training strategy is inspired by Bosun. The model is a trained decision
classifier on the Qwen3.8-27B architecture.
## Decision Index 0.3 public benchmark
The official scorer covered **140,178** scoreable requests over 43 reported
benchmarks: 140,148 answered, 30 unsupported, zero errors and zero pending.
The public index counts 37 benchmarks.
| Result | FxAI-decision-model |
|---|---:|
| **Public Decision Index** | **62.26** |
| Knowledge & Reasoning | 51.50% |
| Language Understanding | 67.43% |
| Retrieval & Classification | 61.20% |
| Tools & Automation | 79.68% |
| Arts & Human Taste | 47.01% |
### Published comparison
The four published decision models nearest this public index, from the
Decision Index board snapshot of 20 October 2026, 14:13 UTC
([Decision Index board](https://huggingface.co/spaces/multimodalart/jev-decision-index)).
Area columns are the same chance-corrected public scores, on a 0–100 scale.
| Model | Public index | Knowledge | Language | Retrieval | Tools | Arts |
|---|---:|---:|---:|---:|---:|---:|
| **FxAI Decision Model** | **62.26** | **51.50** | **67.43** | **61.20** | **79.68** | **47.01** |
| Darwin-27B-ZTC | 62.63 | 44.72 | 68.46 | 60.90 | 86.69 | 53.34 |
| Sieve 31B | 62.52 | 49.91 | 65.59 | 69.55 | 78.72 | 43.50 |
| Wald-26B-A4B | 62.30 | 44.71 | 64.25 | 69.05 | 83.28 | 50.86 |
| OneJev1.6-4B | 61.95 | 45.00 | 64.40 | 68.92 | 81.50 | 49.75 |
Candidate-only machine-readable results are available in `BENCHMARKS.json`.
Evaluation ran in bounded sequential and throughput-batched chunks on one
RTX PRO 6000. The mixed full-run timing fields are throughput measurements,
**not** a valid single-request leaderboard latency claim.
On the separate 9,192-request sequential component run, median / mean / p80
were **107.5 / 202.5 / 255.5 ms**. The maintainers must independently check
the private latency gate.
### Additional independent holdout
On a separate holdout, expected correctness was **52.56%** and soft-label
cross-entropy was **1.1454** (lower is better). This result is not part of
Decision Index.
## Limitations and release status
The 27B checkpoint and GPU requirement are costly. The published figure is
the public Decision Index score. The private portion of the Full score and
the independent latency gate are available only to the maintainers.