Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text classification

od1-nano-typed-decisions

by Balaji mvbalaji/od1-nano-typed-decisions

od1-nano-typed-decisions is an open-weight model for text classification from Balaji, released under Apache License 2.0. Its published files total 1.5 GB.

OD-1 is an open System One decision model: give it a state (text or JSON) and typed questions (choice, noul = yes/no, score = ordinal) and it returns every answer from one forward pass, with full probability distributions including an explicit NOTANSWERABLE…

Parameters—
Context—
Weights1.5 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Balaji, published under apache-2.0, revision b85abf68ebc9.

OD-1 is an open System One decision model: give it a state (text or JSON) and typed questions (choice, noul = yes/no, score = ordinal) and it returns every answer from one forward pass, with full probability distributions including an explicit NOTANSWERABLE outcome. The request/response shape follows the Jev / TypeSafe /v1/systemone wire format. Backbone: Qwen/Qwen3.5-0.8B (Apache-2.0) with typed answer heads read at marker tokens, early-exit heads (layers 6/12/18), and a CLM-style contrastive shortlist head for questions with more than 24 options. Trained with SFT + distillation from Qwen3.5-27B-FP8 (never a compared system), RLCD-style proper-score calibration, an abstention utility…

Read Balaji's full model card

OD-1 Nano (typed-decisions fine-tune)

OD-1 is an open System One decision model: give it a state (text or JSON) and typed questions (choice, noul = yes/no, score = ordinal) and it returns every answer from one forward pass, with full probability distributions including an explicit NOT_ANSWERABLE outcome. The request/response shape follows the Jev / TypeSafe /v1/systemone wire format.

Backbone: Qwen/Qwen3.5-0.8B (Apache-2.0) with typed answer heads read at marker tokens, early-exit heads (layers 6/12/18), and a CLM-style contrastive shortlist head for questions with more than 24 options. Trained with SFT + distillation from Qwen3.5-27B-FP8 (never a compared system), RLCD-style proper-score calibration, an abstention utility, option-order consistency and three adversarial hard-negative rounds; see sources.csv for every training dataset, revision and license.

This checkpoint is the zero-shot Nano further fine-tuned on the typed-decisions TRAIN split (1,080 records; 120 held out for early stopping). Compare it with other fine-tuned systems (e.g. Laya's typed-decisions checkpoint), not with zero-shot ones.

Intended use and an important limitation

Use it for workflows like the typed-decisions benchmark (agent traces, customer service, invoice processing, security incidents). Outside that domain use the zero-shot Nano's guidance.

Results on held-out test sets

All systems answered the same fixed samples (≤ 2,000 decisions per set, seed 0; typed-decisions: all 2,000 decisions of its test split) on 2026-09-25. Baselines were called through one shared interface: each question as one choice over its options (2–24 options), so sets with more options are n/a for them. Jev 1.13 = jev-1.13.0; Laya = convaiinnovations/laya (base and typed-decisions subfolder). Numbers are accuracy.

typed-decisions test (2,000 decisions) accuracy ECE
this model 0.751 0.130
this model, excluding test states that near-duplicate a train state (306 of 400 records kept) 0.776 –
Laya typed-decisions (native typed call) 0.769 0.216
Jev 1.13 (choice-wrapped) 0.741 0.054
Tev1-4B (choice-wrapped) 0.690 0.039
Laya typed-decisions (choice-wrapped) 0.737 0.242

Caveat: 94 of the 400 typed-decisions test states have ≥ 50% 13-gram overlap with a train state (the benchmark's own templated split); the row above excludes them.

Speed (H100, batch-1 requests, CUDA graphs, p50 ms per request)

state / questions this model Laya typed-decisions (all questions in one call)
short (≤ 64 tokens) / 1 5.7 15.9
short (≤ 64 tokens) / 5 10.8 17.9
short (≤ 64 tokens) / 20 33.8 21.4
medium (200–400 tokens) / 1 7.8 16.9
medium (200–400 tokens) / 5 24.5 17.7
medium (200–400 tokens) / 20 88.8 41.4

Many questions over a long state are slower than Laya with this one-pass route (it re-reads the state per question); a read-once route is used for large requests in the next release.

Usage

pip install torch transformers huggingface_hub
from huggingface_hub import snapshot_download
path = snapshot_download('mvbalaji/od1-nano-typed-decisions')
import sys; sys.path.insert(0, path)
from od1.model import OD1Model
m = OD1Model.load(path, dtype='bf16', device='cuda')
m.enable_cuda_graphs()   # optional, GPU
answers = m.answer(state_text_or_json_string, {
    'route':  {'type': 'choice', 'instructions': 'Which team?', 'criteria': {'billing': 'payments', 'tech': 'bugs'}},
    'refund': {'type': 'noul', 'instructions': 'Is the customer asking for a refund?'},
    'urgency': {'type': 'score', 'instructions': 'How urgent?', 'criteria': ['low', 'medium', 'high']}})

Smoke-test output of example.py for this checkpoint: {"route": {"answer": "billing", "confidence": 0.945}, "refund": {"answer": 0.8951218522657585, "confidence": 0.895}, "urgency": {"answer": 2, "confidence": 0.561}}

Training data and licenses

Open datasets with licenses permitting training (see sources.csv for dataset, revision, license, split and counts), project-generated synthetic policy checks, and teacher labels from Qwen3.5-27B-FP8. Held-out evaluation datasets were never trained on; 13-gram deduplication against every test set found no leaks after filtering.

Citation

Paper in preparation (OpenDecide-1).

Identity and Version

Repository
mvbalaji/od1-nano-typed-decisions
Publisher
Balaji
Task
Text classification
Modality
Text
Library
transformers
Parameters
Not stated by the source
Languages
en
Revision
b85abf68ebc9916f4ffb972bde0fe10aba40a8e8
First published
2026-09-26
Last updated
2026-09-26

Files and Weights

17 files, 1.5 GB in total. The weights are 2 files totalling 1.5 GB in pt, safetensors.

Weights2 files · 1.5 GB
Configuration9 files · 52.6 KB
Tokenizer2 files · 20.0 MB
Documentation1 file · 4.6 KB
Other2 files · 11.5 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
backbone/model.safetensorsWeights1.5 GB 1c3d040bd4f6
heads.ptWeights10.6 MB 4a8ea814443d
backbone/config.jsonConfiguration1.8 KB —
backbone/generation_config.jsonConfiguration116 B —
example.pyConfiguration1.2 KB —
od1/__init__.pyConfiguration54 B —
od1/calibration.pyConfiguration4.1 KB —
od1/exit_policy.pyConfiguration3.5 KB —
od1/model.pyConfiguration34.7 KB —
od1/records.pyConfiguration6.9 KB —
od1_config.jsonConfiguration237 B —
README.mdDocumentation4.6 KB —
backbone/chat_template.jinjaOther7.8 KB —
sources.csvOther3.7 KB —
.gitattributesRepository1.6 KB —
backbone/tokenizer.jsonTokenizer20.0 MB 9f74040c5081
backbone/tokenizer_config.jsonTokenizer1.2 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
1.5 GB
Download from Balaji

Released by Balaji through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published1.5 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About od1-nano-typed-decisions

Can I use od1-nano-typed-decisions commercially?

Yes. od1-nano-typed-decisions is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Text classification

twitter-roberta-base-sentiment-latest

Cardiff NLP

This is a RoBERTa-base model trained on ~124M tweets from January 2018 to December 2021, and finetuned for sentiment analysis with the TweetEval benchmark. The original Twitter-based RoBERTa model can be found here and the original reference paper is TweetEval. This model is suitable for English. 0 -> Negative; 1 -> Neutral; 2 -> Positive This sentiment analysis model has been integrated into TweetNLP. You can access the demo here.

Open weights cc-by-4.0 514 tokens transformers

Model · Text classification

finbert-tone

Yi

FinBERT is a BERT model pre-trained on financial communication text. The purpose is to enhance financial NLP research and practice. It is trained on the following three financial communication corpus. The total corpora size is 4.9B tokens. More technical details on FinBERT: Click Link This released finbert-tone model is the FinBERT model fine-tuned on 10,000 manually annotated (positive, negative, neutral) sentences from analyst reports. This model achieves superior performance on financial tone analysis task. If you are simply interested in using FinBERT for financial tone analysis, give it a try. If you use the model in your academic work, please cite the following paper: Huang, Allen H.…

Open weights 512 tokens transformers

Model · Text classification

ms-marco-MiniLM-L-6-v2

Joshua

https://huggingface.co/cross-encoder/ms-marco-MiniLM-L-6-v2 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights 512 tokens transformers.js

Model · Text classification

twitter-xlm-roberta-base-sentiment

Cardiff NLP

This is a multilingual XLM-roBERTa-base model trained on ~198M tweets and finetuned for sentiment analysis. The sentiment fine-tuning was done on 8 languages (Ar, En, Fr, De, Hi, It, Sp, Pt) but it can be used for more languages (see paper for details). This model has been integrated into the TweetNLP library.

Open weights 514 tokens transformers

Model · Text classification

unbiased-toxic-roberta

Unitary

The huggingface models currently give different results to the detoxify library (see issue here). For the most up to date models we recommend using the models from https://github.com/unitaryai/detoxify Trained models & code to predict toxic comments on 3 Jigsaw challenges: Toxic comment classification, Unintended Bias in Toxic comments, Multilingual toxic comment classification. Built by Laura Hanu at Unitary, where we are working to stop harmful content online by interpreting visual content in context. Score not directly comparable since it is obtained on the validation set provided and not on the test set. To update when the test labels are made available. It is also noteworthy to mention…

Open weights apache-2.0 514 tokens transformers

Model · Text classification

emotion-english-distilroberta-base

Hartmann

With this model, you can classify emotions in English text data. The model was trained on 6 diverse datasets (see Appendix below) and predicts Ekman's 6 basic emotions, plus a neutral class: 1) anger 2) disgust 3) fear 4) joy 5) neutral 6) sadness 7) surprise The model is a fine-tuned checkpoint of DistilRoBERTa-base. For a 'non-distilled' emotion model, please refer to the model card of the RoBERTa-large version. a) Run emotion model with 3 lines of code on single text example using Hugging Face's pipeline command on Google Colab: b) Run emotion model on multiple examples and full datasets (e.g.,.csv files) on Google Colab: Please reach out to [email protected] if you have any…

Open weights 514 tokens transformers