vllm-sr/feedback-detector-dataset
Viewer โข Updated โข 20.9k โข 350 โข 2
How to use vllm-sr/mmbert-feedback-detector-merged with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-classification", model="vllm-sr/mmbert-feedback-detector-merged") # pip install -U transformers accelerate
# Load model directly
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("vllm-sr/mmbert-feedback-detector-merged")
model = AutoModelForSequenceClassification.from_pretrained("vllm-sr/mmbert-feedback-detector-merged", device_map="auto")A multilingual 4-class user feedback classifier built on jhu-clsp/mmBERT-base. This model classifies user responses into satisfaction categories to help understand user intent in conversational AI systems.
This is the merged model (LoRA weights merged into base model) for direct inference without PEFT. For the LoRA adapter version, see vllm-sr/mmbert-feedback-detector-lora.
| Label | ID | Description |
|---|---|---|
SAT |
0 | User is satisfied with the response |
NEED_CLARIFICATION |
1 | User needs more explanation or clarification |
WRONG_ANSWER |
2 | User indicates the response is incorrect |
WANT_DIFFERENT |
3 | User wants alternative options or different response |
| Metric | Score |
|---|---|
| Accuracy | 96.89% |
| F1 Macro | 96.88% |
| F1 Weighted | 96.88% |
| Class | F1 Score |
|---|---|
| SAT | 100.0% |
| NEED_CLARIFICATION | 99.7% |
| WRONG_ANSWER | 94.0% |
| WANT_DIFFERENT | 93.8% |
Thanks to mmBERT's multilingual pretraining (256k vocabulary, 100+ languages), this model achieves excellent cross-lingual transfer:
| Language | Accuracy |
|---|---|
| ๐บ๐ธ English | 100% |
| ๐ช๐ธ Spanish | 100% |
| ๐ซ๐ท French | 100% |
| ๐ฉ๐ช German | 100% |
| ๐จ๐ณ Chinese | 100% |
| ๐ฏ๐ต Japanese | 100% |
| ๐ฐ๐ท Korean | 100% |
| ๐ธ๐ฆ Arabic | 100% |
| ๐ต๐น Portuguese | 100% |
| ๐ท๐บ Russian | 100% |
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
model_name = "vllm-sr/mmbert-feedback-detector-merged"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
# Example: Classify user feedback
text = "Thanks, that's exactly what I needed!"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
outputs = model(**inputs)
probs = torch.softmax(outputs.logits, dim=-1)
pred = probs.argmax().item()
labels = ["SAT", "NEED_CLARIFICATION", "WRONG_ANSWER", "WANT_DIFFERENT"]
print(f"Prediction: {labels[pred]} ({probs[0][pred]:.1%})")
# Output: Prediction: SAT (100.0%)
from transformers import pipeline
classifier = pipeline(
"text-classification",
model="vllm-sr/mmbert-feedback-detector-merged"
)
# English
result = classifier("Thanks, that's helpful!")
print(result) # [{'label': 'SAT', 'score': 0.999...}]
# Spanish (cross-lingual transfer)
result = classifier("ยกGracias, eso es muy รบtil!")
print(result) # [{'label': 'SAT', 'score': 0.999...}]
# Chinese
result = classifier("่ฐข่ฐข๏ผ่ฟๅพๆๅธฎๅฉ๏ผ")
print(result) # [{'label': 'SAT', 'score': 0.98...}]
@misc{mmbert-feedback-detector,
title={mmBERT Feedback Detector},
author={vLLM Semantic Router Team},
year={2025},
publisher={Hugging Face},
url={https://huggingface.co/vllm-sr/mmbert-feedback-detector-merged}
}
Apache 2.0
Base model
jhu-clsp/mmBERT-base