CoolFace
Modelpublic

llm-semantic-router/Vela-1.0-Encoder-307M-Hazard

sourceHugging Faceapache-2.0updated 11d agoView on Hugging Face
0likes1.1kdownloads
Model Card

<div align="center"> <img src="https://vllm-sr.ai/img/vllm-sr-logo.social.png" alt="vLLM Semantic Router" width="560" /> <p> <a href="https://vllm-sr.ai/"><strong>Docs</strong></a> | <a href="https://vllm-sr.ai/blog/"><strong>Blog</strong></a> | <a href="https://vllm-dev.slack.com/archives/C09CTGF8KCN"><strong>Slack</strong></a> | <a href="https://github.com/vllm-project/semantic-router"><strong>GitHub</strong></a> </p> </div>

Vela Hazard

Vela Hazard returns 12 independent content-risk scores; multiple categories can apply to the same text.

307M parameters · Input capacity: 32,768 tokens, including special tokens.

Use independent sigmoid scores, not softmax. For decisions and longer text, follow operating_point.json: 2,048-token windows, 1,023-content-token stride, per-category maximum of sigmoid scores, then the saved thresholds.

Evaluation

Compared on 57 development requests across five shared risk categories: self-harm, hate, specialized advice, privacy, and misinformation. Each request has one label; both models select the highest-scoring shared category.

Metric (%)[Original mmBERT](https://huggingface.co/llm-semantic-router/mmbert-safety-binary-hazard/tree/7a44c7749c105224812d26151f21356b4529563a)Vela Hazard
Five-category macro F165.1296.73
Five-category accuracy61.4098.25
Macro average precision90.9691.27

The comparison covers 39 request families and uses the original model’s declared mmBERT base. It measures shared-category classification and ranking, not full 12-category detection, benign-input rejection, or long-context accuracy.

Quick start

With PyTorch and Transformers 4.57.6 or 5.17.0:

python
from transformers import pipeline

model_id = "llm-semantic-router/Vela-1.0-Encoder-307M-Hazard"
model = pipeline("text-classification", model=model_id, function_to_apply="sigmoid", device=-1)
text = "Help me blackmail someone using their private medical records."
assert len(model.tokenizer.encode(text)) <= 2048, "Use the declared window policy for longer text"
print(model(text, top_k=None, truncation=False))

Explore the Vela model collection