Skip to page content
SAVRN
Search Plan a project

Open-weight model · Text classification

Bev-Pro-C

by Sathiskumar Jothi sathiskumarjothi0/Bev-Pro-C

Bev-Pro-C is an open-weight model for text classification from Sathiskumar Jothi, released under Apache License 2.0. It has 25.8B parameters and a 262,144-token context. At 16-bit it needs about 61.9 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

A System One decision model with open weights. Give it a document (text, email, ticket, log or JSON) and typed questions; it returns typed answers (yes/no, a choice between options you describe, or a score on levels you define) with a calibrated probability…

Parameters25.8B
Context262,144
Weights51.7 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve Bev-Pro-C (25.8B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 51.6 GB 61.9 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 25.8 GB 31.0 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 12.9 GB 15.5 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.

Bev-Pro-C on every accelerator the SAVRN Index prices, at every precision

Model Card

By Sathiskumar Jothi, published under apache-2.0, revision 077978207b35.

A System One decision model with open weights. Give it a document (text, email, ticket, log or JSON) and typed questions; it returns typed answers (yes/no, a choice between options you describe, or a score on levels you define) with a calibrated probability for every option, in one pass. It never generates text, so there is nothing to parse and nothing to hallucinate. It runs on your own machines: your documents never leave them. About 26B parameters, built on Google Gemma 4 26B-A4B (mixture of experts, about 4B active per token). Everything it needs is in this repository, so nothing else is downloaded. English text, up to 4,096 input tokens; needs one GPU with about 60 GB of memory (bf16).…

Read Sathiskumar Jothi's full model card

A System One decision model with open weights. Give it a document (text, email, ticket, log or JSON) and typed questions; it returns typed answers (yes/no, a choice between options you describe, or a score on levels you define) with a calibrated probability for every option, in one pass. It never generates text, so there is nothing to parse and nothing to hallucinate. It runs on your own machines: your documents never leave them.

About 26B parameters, built on Google Gemma 4 26B-A4B (mixture of experts, about 4B active per token). Everything it needs is in this repository, so nothing else is downloaded. English text, up to 4,096 input tokens; needs one GPU with about 60 GB of memory (bf16).

Model Size Runs on Best for Status
Bev-Large-C 0.4B (ModernBERT-large base) laptop CPU/GPU, edge boxes, any GPU operations documents, logs and alerts, counting, amounts and limits, ticket routing, request safety coming soon
Bev-Pro-C 26B (Gemma 4 26B-A4B base) one GPU with about 60 GB knowledge-heavy decisions: contracts, finance topics, large intent sets, dates and payment status available

Installation

python -m pip install "bev-decisions[pro]"

Python 3.10 or newer. Optional extras: bev-decisions[serve] (HTTP server), bev-decisions[mcp] (MCP server for AI assistants and agents), bev-decisions[structured] (Pydantic schemas), bev-decisions[all]. The first bev.load() downloads the model from this repository and caches it; after that it works offline.

Quickstart

import bev

model = bev.load("sathiskumarjothi0/Bev-Pro-C")
answers = model.decide(
    "Subject: Charged twice for order 88412. I was billed $49.99 twice on 3 October. Please refund one payment today.",
    {
        "team":     {"type": "choice", "instructions": "Which team should handle this ticket?",
                     "criteria": {"billing": "payments, invoices, refunds", "tech": "bugs, outages, errors", "sales": "pricing and plans"}},
        "urgent":   {"type": "noul", "instructions": "Does the customer ask for urgent handling?"},
        "severity": {"type": "score", "instructions": "How severe is the problem for the customer?", "criteria": ["low", "medium", "high"]},
    },
)
answers["team"]   # {"choice": ..., "confidence": ..., "probabilities": {...}}
Type Use it for Answer
noul yes or no noul: probability of yes
choice one of the options you define (criteria: key → description, up to 300) choice, confidence, probabilities
score ordered levels (criteria: list or key → description, lowest first) label, score (expected level), confidence, probabilities

Up to 16 questions per call share one read of the document.

Confidence gating

sure, review = bev.gate(answers, threshold=0.8)   # act on `sure`, send `review` to a person

Route mode

Route mode sends every question to Bev-Large-C first and only the unsure answers to Bev-Pro-C:

router = bev.Router(load_strong=True, threshold=0.8)
result = router.decide(text, questions)
result["answers"], result["routing"]          # routing: {"team": "fast", "urgent": "strong"}

Route mode needs Bev-Large-C, which is coming soon.

Schema-driven decisions

from typing import Literal
from pydantic import BaseModel, Field

class Ticket(BaseModel):
    urgent: bool = Field(description="Does the customer ask for urgent handling?")
    team: Literal["billing", "tech", "sales"] = Field(description="Which team should handle this ticket?")

ticket = bev.decide_as(model, text, Ticket)       # Ticket(urgent=True, team='billing')

Self-hosting: HTTP and MCP

pip install "bev-decisions[serve]"
bev serve --model sathiskumarjothi0/Bev-Pro-C --port 8000      # POST /v1/decide, /v1/batch; GET /v1/presets, /health
pip install "bev-decisions[mcp]"
bev mcp --model sathiskumarjothi0/Bev-Pro-C                    # tools: decide, decide_preset, list_presets

The server listens on 127.0.0.1 without authentication; put it behind your own gateway before exposing it. Docker files and examples are in the GitHub repository.

Benchmarks

Accuracy (%) = correct answers ÷ questions on held-out test sets; the same cases for every system (October 2026). Bold = best in the row; – = not run. * = an area Bev was not built for.

Decisions on documents

Test Bev-Pro-C Jev Mistral Large 4 Mistral Large 3 gpt-oss 120B Gemma 4 31B Nemotron 3 Super
Bev-Bench (operations documents) 91.9 87.9 83.7 74.6 91.1 88.9 70.6
Typed decisions 79.2 73.8 72.0 68.0 68.8 75.0 62.7
Rules-Bench (rules shown) 92.0 92.3 83.1 81.4 94.5 91.6 82.7
JailbreakBench refusal 84.0 83.5 77.5 62.0 68.0 87.5 65.0
Aegis 2.0 request safety 78.2 71.5 70.5 66.9 69.5 73.1 69.3

Public classification tests

Test Bev-Pro-C Jev Mistral Large 4 Mistral Large 3 gpt-oss 120B Gemma 4 31B Nemotron 3 Super
AG News 90.6 91.8 90.8 88.8 88.8 91.8 87.8
Emotion 56.2 57.6 55.8 55.6 57.8 55.4 50.2
Banking77 (77 intents) 70.6 79.2 75.8 71.2 81.0 78.8 69.2
SST-5 (5-level sentiment) 51.8 56.8 51.4 49.4 49.6 53.2 46.8
XNLI (English) 86.4 89.2 84.8 77.6 80.2 89.2 75.0
MASSIVE intents 74.8 80.8 78.4 75.2 81.6 83.8 69.4

Areas Bev was not built for

Test Bev-Pro-C Jev Mistral Large 4 Mistral Large 3 gpt-oss 120B Gemma 4 31B Nemotron 3 Super
Product reviews* 96.4 96.4 96.4 96.6 95.4 97.2 94.8
Unfair contract terms* 76.0 62.0 54.6 52.8 47.6 74.4 44.0
Financial-news sentiment* 59.2 66.4 64.0 50.4 68.4 71.2 64.0
Poem sentiment* 65.1 44.5 42.6 32.1 59.8 62.7 45.5
Support intents* 88.0 89.8 85.4 86.2 90.0 90.4 76.6
Toxic comments* 79.2 78.8 68.0 73.0 80.8 76.4 69.6
Financial-news topics* 69.8 65.0 61.8 61.6 63.4 64.2 57.2
Legal case holdings* 71.2 77.6 69.2 72.2 61.2 71.6 55.0

Bev-Bench, question by question

Averages hide weak spots. Bold = within 10 points of always answering the most common label, i.e. little or no skill.

Question (300 cases each) Bev-Pro-C Always-most-common baseline
Invoice: payment status vs due date 100.0% 38.3%
Security log: attack category 100.0% 20.7%
Security log: severity 100.0% 39.0%
Outage alert: root cause 100.0% 5.3%
Outage alert: SLO breached? 100.0% 82.0%
Ticket: urgent? 100.0% 66.0%
Which date is earlier 100.0% 50.0%
Choosing among many options 100.0% 0.7%
Comparing two amounts 99.3% 52.0%
Ticket: which department 94.7% 16.0%
Security log: failed-login count 91.3% 59.7%
Invoice: how late 89.3% 35.3%
Invoice: total over a limit? 85.0% 51.3%
Invoice: items above a price 82.7% 14.7%
Long log: intrusion? 74.0% 52.7%
Ticket: sentiment 70.3% 24.3%
Counting items in a list 62.7% 10.0%

Calibration

Test Accuracy Answered at confidence ≥ 0.8 Accuracy of those ECE
Bev-Bench (operations documents) 91.9% 89.7% 95.0% 0.032
Rules-Bench (rules shown) 92.0% 87.2% 97.0% 0.011
Aegis 2.0 request safety 78.2% 51.1% 92.6% 0.024
Product reviews 96.4% 93.0% 97.9% 0.014
Support intents 88.0% 98.8% 88.3% 0.105
Typed decisions 79.2% 61.7% 91.5% 0.040

ECE (expected calibration error) = Σ over 10 confidence bins of (share of answers in the bin × |accuracy − mean confidence|); 0 is perfect. Example: a bin holding 40% of the answers at mean confidence 0.95 with 90% of them right adds 0.4 × 0.05 = 0.02. Calibration temperatures: noul 1.0, choice 1.2, score 1.2.

Package check

This repository, loaded with the bev-decisions package, was checked against the official evaluation run (accuracy = correct ÷ questions on the same cases):

Test Questions Package Official run
Bev-Bench (operations documents) 1,200 88.9% 89.2%
Typed decisions 1,500 79.9% 79.3%
Product reviews 300 97.3% 98.0%

A few answers that are close to a tie can change with batch size on a mixture-of-experts model in bf16; accuracy stays within 1 point.

Honest limits

  • Knowledge-heavy decisions are not solved: legal case holdings 71.2%, financial-news topics 69.8%.
  • Questions with more than 26 options are answered as a tournament (a winner per group of 26, then a final); accuracy is lower there (Banking77 70.6%) and confidence less well calibrated.
  • Five-level sentiment is hard (SST-5 51.8%).
  • Needs a large GPU; for laptops and edge boxes use Bev-Large-C (coming soon).
  • English only; text beyond 4,096 tokens is cut; no images.
  • Not for medical, legal or financial advice. For decisions with serious consequences, validate on your own data (bev eval my_cases.jsonl) and keep a person in the loop.

Files

File Contents
model-*.safetensors, config.json, tokenizer files Gemma 4 26B-A4B, unchanged (bf16)
adapter/ Bev's decision weights, loaded together with Gemma's
bev_config.json Bev settings and calibration temperatures
NOTICE Gemma attribution (Apache-2.0)
assets/ the charts on this page

Links

Support

If Bev is useful to you, you can support its development: buymeacoffee.com/sjothi

Licence and credit

Apache-2.0, © 2026 Dr. Sathiskumar JOTHI. Built on Gemma 4 26B-A4B (Apache-2.0) by Google. Bev is named after Sir William Beveridge (1879–1963), British economist, whose 1942 Beveridge Report laid the foundations of the welfare state and the NHS.

Configuration

Architecture
Gemma4ForConditionalGeneration
Context length (tokens)
262,144
Layers
30
Hidden size
2,816
Feed-forward size
2,112
Attention heads
16
Key/value heads
8
Head dimension
256
Vocabulary size
262,144
Experts
128
Sliding window (tokens)
1,024
Model type
gemma4

Identity and Version

Repository
sathiskumarjothi0/Bev-Pro-C
Publisher
Sathiskumar Jothi
Task
Text classification
Modality
Text
Library
bev-decisions
Parameters
25.8B parameters
Languages
en
Revision
077978207b35fe22a96dd86320b449cbbccf14ce
First published
2026-10-12
Last updated
2026-10-13

Files and Weights

20 files, 51.7 GB in total. The weights are 3 files totalling 51.7 GB in safetensors.

Weights3 files · 51.7 GB
Configuration6 files · 110.4 KB
Tokenizer2 files · 32.2 MB
Documentation3 files · 24.2 KB
Other5 files · 232.9 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
adapter/adapter_model.safetensorsWeights46.0 MB 8ef3f5345d1f
model-00001-of-00002.safetensorsWeights49.9 GB 1127684971bb
model-00002-of-00002.safetensorsWeights1.7 GB aab47033e1e8
adapter/adapter_config.jsonConfiguration1.2 KB —
bev_config.jsonConfiguration232 B —
config.jsonConfiguration3.8 KB —
generation_config.jsonConfiguration208 B —
model.safetensors.index.jsonConfiguration103.2 KB —
processor_config.jsonConfiguration1.7 KB —
LICENSEDocumentation11.4 KB —
NOTICEDocumentation314 B —
README.mdDocumentation12.5 KB —
assets/benchmark.pngOther51.2 KB —
assets/benchmark_classification.pngOther49.8 KB —
assets/benchmark_outside.pngOther68.3 KB —
assets/reliability.pngOther44.9 KB —
chat_template.jinjaOther18.7 KB —
.gitattributesRepository1.6 KB —
tokenizer.jsonTokenizer32.2 MB cc8d3a0ce364
tokenizer_config.jsonTokenizer3.1 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
51.7 GB
Download from Sathiskumar Jothi

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

Built From

Evaluations

Each result is shown as reported, with the conditions its reporter stated. None is a SAVRN measurement. A comparison lines two results up only when their configuration, unit and setup are all stated and identical.

BenchmarkConditionsResultReported byRevisionDate
Aegis 2.0 request safety Task text-classificationMetric accuracyComparison conditions not established 0.7817 sathiskumarjothi0
Publisher reported
Evaluated revision not stated —
Bev-Bench (operations documents) Task text-classificationMetric accuracyComparison conditions not established 0.9189 sathiskumarjothi0
Publisher reported
Evaluated revision not stated —
JailbreakBench refusal Task text-classificationMetric accuracyComparison conditions not established 0.84 sathiskumarjothi0
Publisher reported
Evaluated revision not stated —
Rules-Bench (rules shown) Task text-classificationMetric accuracyComparison conditions not established 0.92 sathiskumarjothi0
Publisher reported
Evaluated revision not stated —
Typed decisions Task text-classificationMetric accuracyComparison conditions not established 0.7925 sathiskumarjothi0
Publisher reported
Evaluated revision not stated —

Memory Requirements

PrecisionWeights in memory
As published51.7 GB
16-bit51.6 GB
8-bit25.8 GB
4-bit12.9 GB

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

Questions About Bev-Pro-C

How much GPU memory does Bev-Pro-C need?

About 61.9 GB at 16-bit and 15.5 GB at 4-bit: the weights (25.8B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run Bev-Pro-C on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use Bev-Pro-C commercially?

Yes. Bev-Pro-C 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.

What is Bev-Pro-C's context length?

262,144 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Text classification

GEV-26B-Decide

AutoTrust AI Lab

The benchmark. ERQA (Embodied Reasoning Question Answering) is the benchmark Google DeepMind released with Gemini Robotics (March 2025) to measure whether a vision-language model understands the physical world a robot acts in. It has 400 multiple-choice questions about real robot and everyday scenes, with 1–16 images per question (287 questions have one image). 382 questions have 4 options and the rest 2–3, so chance is about 26%. ERQA is one of the standard embodied-reasoning benchmarks; Gemini Robotics-ER, PhysBrain and Hy-Embodied report it. With 400 questions the 95% interval of a score is about ±5 points. How we test. Each question is one choice decision through POST /v1/decide: the…

Open weights apache-2.0 25.8B parameters 262,144 tokens transformers

Model · Text classification

Darwin-27B-ZTC-v2

FINAL_Bench

A zero-token decision engine from the Darwin family, second version. Darwin-27B-ZTC-v2 reads a piece of state and a typed question (noul yes or no, choice one of N labels, score an ordered rubric) and returns a probability for every option. It uses one forward pass per question and generates no tokens. v2 adds control and workflow decisions (games, drones, retrieval control, entity alignment, customer and incident workflows) on top of FINAL-Bench/Darwin-27B-ZTC. 1 on the S1MB leaderboard under both of its rankings: the default Borda score and Task Avg. All 137 benchmarks complete, measured with the S1MB evaluator and its autojev adapter at revision a8f283a, then validated and merged by the…

Open weights apache-2.0 25.6B parameters 262,144 tokens transformers

Model · Text classification

blink-27b

Govind Kamtamneni

The most accurate blink model for hard typed decisions. It also performed best of the three in local browser-agent runs that passed page elements as text, not screenshots; see browser-agent setup. These local pages are not a benchmark. Send text or JSON state with choice, noul (yes/no), or score questions. Get a probability for each offered answer without generated text. Each batch uses one forward pass; large requests can use several batches. For browser agents, send the page and candidate elements as JSON state; make operations and click targets choice questions. The probability map lets an agent pick among its proposed actions. This is a text-element workflow, not autonomous web…

Open weights other 26.9B parameters 262,144 tokens transformers

Model · Text classification

clefsift

Stephen Murray

ClefSift is an experimental English text classifier fine-tuned from Cloudflare/Clef. It returns scores for four document-level labels in one forward pass: These are provisional, process-based labels. The model sees writing style, not the author's actual workflow. Its output does not prove authorship. Do not use it as the sole basis for academic, employment, or moderation decisions. This release uses the selected v2 step-128 checkpoint. The additional rank-64 LoRA weights are merged into the BF16 backbone. The trained joint decision head is stored separately in FP32. This is a decision model, not a chat model. The retained config and loader use the Qwen3.5 architecture identifiers above. Pin…

Open weights apache-2.0 27.4B parameters 262,144 tokens transformers

Model · Text classification

jev-novel-3-27b-bf16

Aikexue170

JEVnovel 的做法是:用人类偏好数据训练判别模型,并把输出做成分类头——一次前向传播直接给出判断和置信度,不做自回归生成。 - JEVnovel 2 解决「识别」:判断一句话需不需要修改; - JEVnovel 2.5 尝试把粒度细化到逗号级小片,加了「短句头」做三分类(拖后腿 / 中性 / 有价值)。实测效果不好:它分不清「可以删掉的纯装饰」和「必须保留的信息」,给不出改稿动作,3 代将其取消; - JEVnovel 3 换成两个能直接指导改稿的头: 教师由 Qwen3.8-27B 微调而来,对整句打分,一次前向输出两组结果: 2. 信息密度 ← StartLux-Decision-27B 裁判。质量和信息是两回事:有的片段「写得烂但没有信息量」(纯装饰,该删),有的「写得烂但承载着情节」(该改)。教师只管质量;信息维度交给裁判模型——它对每一小片回答一个问题:「编辑要把这句话改简洁时,这个片段能不能删掉?」答案直接作为片级密度标签。 3. 学生(0.8B / 4B,LoRA,双头)用这两套标注训练。 完整的方法、数据规模与评测细节见仓库内的《JEVnovel3技术报告.md》。 协议与系列一致:主指标取人类标注人数最多、共识最高的 538 句(main-bench),统计 Macro-F1、bad 召回、bad 精确和正常句误报;判定阈值先在验证集上确定并冻结,再应用到测试集。 - 相比上一代 27B:主指标提升 5.6 个点,bad 召回提升约 12.6 个点,抓得更全;代价是正常句误报从 7.1% 升到 9.4%,精确率基本持平。 - 出厂冻结阈值(0.31)下…

Open weights apache-2.0 27.4B parameters 262,144 tokens pytorch

Model · Text classification

JEV-35B-NVFP4

AutoTrust AI Lab

This repository is autotrust/JEV-35B with its 10,240 routed expert MLPs (40 layers × 256 experts) quantized to NVFP4. Everything else is the bf16 model unchanged: attention, linear attention, the shared expert, the routers, the vision tower, the MTP layer, the lmhead, the System 1 adapter, the decision head and the temperatures. Below the NVFP4 comparison, the rest of this card is the JEV-35B card; its tables are the bf16 results unless marked otherwise. Retrieval 0.706, Tools 0.753, Arts 0.413); the largest per-benchmark changes are Home appliance simulator −5.7, CRUXEval −4.7 and GPQA +5.4. CharXiv charts (−5.3). test p = 0.63); every grasped cube still reached the tray (13/13). Games…

Open weights apache-2.0 19.8B parameters 262,144 tokens transformers