Text Classification
Transformers
Safetensors
English
modernbert
fill-mask
typed-decisions
prokope
Eval Results
text-embeddings-inference
Instructions to use ProKope-AI/ProKope-421M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ProKope-AI/ProKope-421M with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="ProKope-AI/ProKope-421M")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForMaskedLM tokenizer = AutoTokenizer.from_pretrained("ProKope-AI/ProKope-421M") model = AutoModelForMaskedLM.from_pretrained("ProKope-AI/ProKope-421M", device_map="auto") - Notebooks
- Google Colab
- Kaggle
|
Download README.md from ProKope-AI/ProKope-421M: direct link, hf CLI and curl.
- Browser
- Download file 5.48 kB
-
https://huggingface.co/ProKope-AI/ProKope-421M/resolve/main/README.md
- Command line
-
hf download hf://ProKope-AI/ProKope-421M/README.md
-
curl -L -H "Authorization: Bearer $HF_TOKEN" -o README.md https://huggingface.co/ProKope-AI/ProKope-421M/resolve/main/README.md
5.48 kB
metadata
license: cc-by-nc-4.0
library_name: transformers
pipeline_tag: text-classification
gated: manual
extra_gated_prompt: >-
Access to ProKope-421M weights is provided for academic evaluation,
benchmarking, and commercial licensing inquiries. Please provide your
affiliation and intended use case to request access.
extra_gated_fields:
Company or Institution: text
Corporate or Academic Email: text
Intended Evaluation Use Case: text
language:
- en
datasets:
- LocalLLaMA/typed-decisions
tags:
- text-classification
- typed-decisions
- modernbert
- prokope
model_name: ProKope-421M
author: Alan Canto
creator: Alan Canto
ProKope-421M
Introduction
ProKope-421M is a 421M-parameter non-autoregressive classification and scoring model developed by ProKope AI, based on ModernBERT-large with a 1,024-token context window. It evaluates structured state inputs in a single forward pass across three typed decision primitives:
noul: Binary boolean classification ([0, 1]probability).choice: Multi-class categorical routing.score: Ordinal severity and confidence estimation ([0, 1]scalar).
For 8,192-token context workloads, see ProKope-421M-8K.
Evaluation
Evaluated across 400 test cases (2,000 total decisions) on the LocalLLaMA/typed-decisions benchmark:
| Model | Parameters | Context | Overall Accuracy | Decisions Correct | Brier Score |
|---|---|---|---|---|---|
| ProKope-421M-8K | 421M | 8,192 | 71.85% | 1,437 / 2,000 | 0.384 (raw) |
| Featherless Simple Jev | 35B | 8,192 | 71.60% | 1,432 / 2,000 | 0.110 |
| ProKope-421M | 421M | 1,024 | 71.40% | 1,428 / 2,000 | 0.071 (calibrated) |
| prima-ratio | 12B | 8,192 | 70.20% | 1,404 / 2,000 | 0.125 |
| mgoeckel/oscar-1-400m | 400M | 1,024 | 70.00% | 1,400 / 2,000 | 0.062 |
| OpenDecider-small | 4B | 8,192 | 67.10% | 1,342 / 2,000 | 0.117 |
| Bekko System One v0 | 400M | 1,024 | 66.80% | 1,336 / 2,000 | 0.113 |
Domain Breakdown (ProKope-421M: 71.40% / 1,428 / 2,000)
- Invoice Processing: 79.00% (395 / 500)
- Agent-Trace Observability: 73.20% (366 / 500)
- Security Incidents: 69.20% (346 / 500)
- Customer Service Routing: 64.20% (321 / 500)
Decision Primitive Breakdown
noul(Binary Decision): 79.67%choice(Multi-Class Routing): 69.67%score(Ordinal Severity): 66.50%
Model Details
| Property | Value |
|---|---|
| Backbone | ModernBERT-large (28 bidirectional encoder layers, 1,024 hidden size) + 2-layer multi-head decision projection |
| Total Parameters | 421,293,830 (803.57 MB in bfloat16) |
| Context Window | 1,024 tokens (head_max_len: 256 tokens) |
| Throughput | |
| Recommended VRAM | 2 GB+ for bfloat16 / float16 inference |
| Precision | torch.bfloat16 |
| License | CC-BY-NC-4.0 (Commercial licensing available via ProKope AI) |
Quickstart
1. Python Inference (RLAgent)
from rl_agent_api import RLAgent
agent = RLAgent("ProKope-AI/ProKope-421M")
state = (
"Production API Gateway alert: 504 Gateway Timeout spiked to 14.8% over the last 3 minutes. "
"Worker node 4 pod eviction reported due to memory pressure (96.2%)."
)
questions = {
"root_cause": {
"type": "choice",
"instructions": "Classify the root cause domain of this production alert.",
"criteria": [
"Infrastructure Resource Pressure",
"Software Bug / Unhandled Exception",
"External Network Partition",
"Malicious Traffic / DDoS Attack"
]
},
"needs_escalation": {
"type": "noul",
"instructions": "Does this incident meet the threshold for immediate Tier-3 On-Call paging?",
"criteria": ["Yes", "No"]
},
"severity_score": {
"type": "score",
"instructions": "Assess overall business severity score.",
"criteria": ["Low", "Medium", "High", "Critical"]
}
}
results = agent.system_one(state, questions)
for key, ans in results["answers"].items():
print(key, "->", ans)
2. Reproducing the Benchmark Evaluation
python eval_prokope.py
Limitations & Intended Use
- Intended Use: Low-latency structured classification, incident triage, workflow routing, and calibrated probability estimation over bounded decision schemas (
noul,choice,score). - Limitations:
ProKope-421Mis a non-autoregressive encoder-classifier and does not generate free-form text. Inputs exceeding the 1,024-token context window are truncated.
Contact & Citation
- Organization: ProKope AI
- Authors: Alan Canto, Wesley Foreman
- Inquiries & Commercial Licensing: prokope.model@gmail.com
@misc{canto2026prokope421m,
author = {Alan Canto and Wesley Foreman},
title = {ProKope-421M: Non-Autoregressive Structured Typed Decision Model},
howpublished = {Hugging Face},
year = {2026},
url = {https://huggingface.co/ProKope-AI/ProKope-421M}
}