--- 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

# ProKope-421M ## Introduction **ProKope-421M** is a 421M-parameter non-autoregressive classification and scoring model developed by [ProKope AI](https://huggingface.co/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: 1. **`noul`**: Binary boolean classification (`[0, 1]` probability). 2. **`choice`**: Multi-class categorical routing. 3. **`score`**: Ordinal severity and confidence estimation (`[0, 1]` scalar). For 8,192-token context workloads, see [ProKope-421M-8K](https://huggingface.co/ProKope-AI/ProKope-421M-8K). --- ## Evaluation Evaluated across 400 test cases (2,000 total decisions) on the [`LocalLLaMA/typed-decisions`](https://huggingface.co/datasets/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** | ~23.5 decisions/sec (~42 ms/decision on single GPU) | | **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`) ```python 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 ```bash 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-421M` is 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](https://huggingface.co/ProKope-AI) - **Authors**: Alan Canto, Wesley Foreman - **Inquiries & Commercial Licensing**: [prokope.model@gmail.com](mailto:prokope.model@gmail.com) ```bibtex @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} } ```