Downloads · 30 days
4
7% of all-time downloads
perfecXion/intentguard-legal
intentguard-legal is a text classification model from perfecXion. Use it when you need a label for a piece of text. It is set up for onnx. The card lists the license as apache-2.0.
[](https://opensource.org/licenses/Apache-2.0) [](performance) [](model-details) [](performance) [](model-details)
Downloads · 30 days
4
7% of all-time downloads
All-time downloads
57
Public
Repo size
288 MB
Likes
0
Public
Click a slice to open those files.
.data283 MB · 95%
From the Hugging Face model README
Production-ready vertical intent classifier for LLM chatbot guardrails. Classifies user messages as allow, deny, or abstain to keep legal chatbots on-topic and within professional boundaries.
Research Article | perfecXion.ai | Finance Model | Healthcare Model | Legal Model
| Model | Vertical | Accuracy | Off-Topic Pass Rate | Link |
|---|---|---|---|---|
| intentguard-finance | Financial Services | 99.6% | 0.00% | perfecXion/intentguard-finance |
| intentguard-healthcare | Healthcare & Clinical | 98.9% | 0.98% | perfecXion/intentguard-healthcare |
| intentguard-legal | Legal & Compliance | 97.9% | 0.50% | This model |
Legal chatbots carry significant liability risk — unauthorized practice of law, confidentiality breaches, and jurisdictional issues demand strict topic boundaries. An LLM that happily answers questions about celebrity gossip or sports while branded as a legal assistant undermines professional credibility and trust.
IntentGuard uses a tiny DeBERTa-v3-xsmall model (22M parameters, 2.5MB quantized) to classify user intent in <30ms on CPU with three-way classification:
| Metric | Value |
|---|---|
| Overall Accuracy | 97.9% |
| Legitimate Block Rate | 0.00% |
| Off-Topic Pass Rate | 0.50% |
| p99 Latency (CPU) | <30ms |
| Model Size (ONNX INT8) | 2.5MB |
| Base Parameters | 22M (DeBERTa-v3-xsmall) |
| Expected Calibration Error | <0.03 |
| Property | Value |
|---|---|
| Architecture | DeBERTa-v3-xsmall (fine-tuned for 3-way classification) |
| Format | ONNX (INT8 quantized) |
| Version | 1.0 |
| Vertical | Legal (Law & Compliance) |
| GPU Required | No — runs on CPU |
| Publisher | perfecXion.ai |
Contracts, litigation, employment law, intellectual property, criminal law, family law, real estate law, immigration, corporate law, compliance, privacy law, civil rights, estate planning, bankruptcy
Sports, entertainment, cooking, gaming, celebrity gossip, fashion, travel/leisure, fiction writing, relationship advice
import onnxruntime as ort
from transformers import AutoTokenizer
import numpy as np
tokenizer = AutoTokenizer.from_pretrained("perfecXion/intentguard-legal")
session = ort.InferenceSession("model.onnx")
text = "What are the requirements for filing a patent application?"
inputs = tokenizer(text, return_tensors="np", max_length=128, truncation=True, padding="max_length")
logits = session.run(None, {
"input_ids": inputs["input_ids"],
"attention_mask": inputs["attention_mask"]
})[0]
labels = ["allow", "deny", "abstain"]
prediction = labels[np.argmax(logits)]
confidence = float(np.max(np.exp(logits) / np.sum(np.exp(logits))))
print(f"Intent: {prediction} (confidence: {confidence:.3f})")
# Output: Intent: allow (confidence: 0.996)
docker pull ghcr.io/perfecxion/intentguard:legal-1.0
docker run -p 8080:8080 ghcr.io/perfecxion/intentguard:legal-1.0
curl -X POST http://localhost:8080/v1/classify \
-H "Content-Type: application/json" \
-d '{"messages": [{"role": "user", "content": "What are my rights as a tenant?"}]}'
pip install intentguard
from intentguard import IntentGuard
guard = IntentGuard.load("legal")
result = guard.classify("What are the requirements for filing a patent?")
print(result) # Intent(label='allow', confidence=0.996)
| User Message | Predicted | Confidence | Correct? |
|---|---|---|---|
| "What are the requirements for filing a patent?" | allow | 0.996 | ✅ |
| "Can my landlord evict me without notice?" | allow | 0.995 | ✅ |
| "Who won the Super Bowl?" | deny | 0.999 | ✅ |
| "Tell me a joke" | deny | 0.996 | ✅ |
| "Is GDPR compliance required for US companies?" | allow | 0.989 | ✅ |
| "What's the best recipe for pasta?" | deny | 0.998 | ✅ |
@misc{thornton2025intentguard,
title={IntentGuard: A Production-Grade Vertical Intent Classifier for LLM Guardrails},
author={Thornton, Scott},
year={2025},
publisher={perfecXion.ai},
url={https://perfecxion.ai/articles/intentguard-vertical-intent-classifier-llm-guardrails.html},
note={Model: https://huggingface.co/perfecXion/intentguard-legal}
}
| Metric | Result |
|---|---|
| Accuracy (Legal vertical) | 97.9% |
| Legitimate Block Rate | 0.00% |
| Off-Topic Pass Rate | 0.50% |
| Expected Calibration Error | <0.03 |
| ONNX INT8 Quantization | Validated |
| CPU Inference (p99) | <30ms |
Apache 2.0
ghcr.io/perfecxion/intentguard:legal-1.0