--- license: apache-2.0 language: - de - en metrics: - f1 - precision - recall base_model: - jhu-clsp/mmBERT-small pipeline_tag: text-classification tags: - intent-classification - routing - intent-detection - ai-agents - security - llm-security - ai-safety - ai-agent-security - patronus - multilingual - modernbert - onnx --- # Model Card for Panther Read Intent Classifier **Multilingual User-Intent & Request-Routing Classifier for Real-World AI Agent Security** Panther Read is a multilingual ModernBERT-based ([mmBERT](https://huggingface.co/blog/mmbert)) classifier that detects the operational intent of a request and routes it to the right capability. It is part of the Patronus Protect security stack and is the dedicated single-head counterpart to the `routing` head of [Lion Warden](https://huggingface.co/patronus-studio/lion-warden-ai-security-classifier). ## Intended Uses The model maps an input text to exactly one class: | id | label | description | |---:|---|---| | 0 | `benign_conv` | Ordinary conversation with no operational request. | | 1 | `code_development_request` | A request to write, debug, or reason about code. | | 2 | `data_analytics_request` | A request to query, analyze, or visualize data. | | 3 | `office_request` | A document / office task (drafting, summarizing, email). | | 4 | `tool_operation_request` | A request that intends to operate a tool or run an action. | Examples: | Input | Expected class | |---|---| | How was your weekend? | `benign_conv` | | Write a Python function that merges overlapping intervals | `code_development_request` | | Chart the weekly conversion rate from the signups table | `data_analytics_request` | | Draft a polite email to the vendor about the invoice | `office_request` | | List every file in the reports directory and read summary.txt | `tool_operation_request` | Typical downstream uses: - request routing and capability selection, - AI agent orchestration, - policy and approval routing, - runtime monitoring. ## Limitations - A positive prediction describes an apparent property of the input, not proof that an action was executed. - The model does not track information flow across multiple agent steps. - German and English are the primary evaluated languages; other languages run through the multilingual backbone but were not actively validated. - False positives and negatives are possible. High-impact enforcement should combine the model with deterministic policy and calibrated thresholds. ## Model Variants - **Panther Read Intent Classifier** – full ModernBERT model in FP32 (`model.safetensors`). - **Panther Read Intent Classifier ONNX (FP16)** – `onnx/onnx_fp16/model_fp16.onnx` in this repository. - **[Panther Read Intent Classifier Edge](https://huggingface.co/patronus-studio/panther-read-intent-classifier-edge)** – quantized ONNX builds (`int8`, `int8_int4_embeddings`, `fp16`) in a separate edge repository. - **Panther Read Intent Classifier NTDB L2** – lightweight multilingual cascade components under `l2/` for efficient local runtime classification. ## Training Data Trained on Patronus' in-house multilingual dataset for this task, built from cleaned real-world sources plus internally generated examples. Real-world sources were judge-cleaned by content (no keyword heuristics) and contaminated rows removed. ### Augmentations To improve robustness the dataset includes modern obfuscation techniques: - Unicode variants - Homoglyph attacks - Encodings (e.g. base64) - Tag wrappers (User:, System:) - HTML tags - Code comments - Spacing noise - Leetspeak - Case noise - Combination of N augmentation techniques ### Regularization - Natural-language wrappers around the payload - Counterfactual samples - Trigger-word / spurious-correlation corpora - ~90% similarity deduplication with a train/(val ∪ test) leakage guard ### Reducing bias All augmentations and regularizers are applied to positive and negative examples alike so the model keys on content rather than surface form. ## Benchmark Held-out test set (n = 1,880), single-label: | Metric | Score | |---|---| | **Accuracy** | **0.898** | | **F1 (macro)** | **0.899** | | Precision (macro) | 0.902 | | Recall (macro) | 0.897 | Per-class F1: | Class | F1 | |---|---| | code_development_request | 0.919 | | tool_operation_request | 0.918 | | data_analytics_request | 0.894 | | benign_conv | 0.889 | | office_request | 0.876 | ## Usage ```python from transformers import pipeline clf = pipeline("text-classification", model="patronus-studio/panther-read-intent-classifier") clf("Chart the weekly conversion rate from the signups table") # -> [{"label": "data_analytics_request", "score": 0.98}] ``` ## ONNX The FP16 ONNX export lives under `onnx/onnx_fp16`; the quantized builds (`int8`, `int8_int4_embeddings`) live in the separate [Panther Read Intent Classifier Edge](https://huggingface.co/patronus-studio/panther-read-intent-classifier-edge) repository. Apply a softmax over the logits and take the argmax: ```python from optimum.onnxruntime import ORTModelForSequenceClassification from transformers import AutoTokenizer model_id = "patronus-studio/panther-read-intent-classifier" tokenizer = AutoTokenizer.from_pretrained(model_id) model = ORTModelForSequenceClassification.from_pretrained(model_id, subfolder="onnx/onnx_fp16", file_name="model_fp16.onnx") inputs = tokenizer("Chart the weekly conversion rate from the signups table", return_tensors="pt") logits = model(**inputs).logits.detach().cpu().numpy()[0] print(model.config.id2label[int(logits.argmax())]) ``` ## Citation ```bibtex @misc{pantherread2026, title={Panther Read Intent Classifier: Multilingual Classification for Real-World AI Agent Security}, author={Patronus Protect}, year={2026}, howpublished={\url{https://huggingface.co/patronus-studio/panther-read-intent-classifier}} } ``` ## License This model is released under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). A copy of the license is included as `LICENSE` in this repository. The model is derived from [jhu-clsp/mmBERT-small](https://huggingface.co/jhu-clsp/mmBERT-small), which is distributed under the **MIT License**. The upstream copyright and permission notice are retained; the MIT terms continue to apply to the portions originating from that work. ## Patronus Ark This model is built to run inside **Patronus Ark**, Patronus' open-source on-device AI-security scanning library (L1 native rules → L2 NTDB cascade → L3 transformer). Ark is not publicly released yet — a repository link will be added here at launch. --- ## 🛡️ Patronus Protect Brought to you by [Patronus Protect](https://patronus.studio) — a local AI firewall that secures every AI interaction, including prompts, tools and documents, before it reaches your models. Try it for free at [patronus.studio](https://patronus.studio).