Zoom_feedback / demo.py
Vishnu2517's picture
Upload folder using huggingface_hub
9220b75 verified
#!/usr/bin/env python3
"""
Demo script for EdTech Feedback Validation Model
"""
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
def load_model(model_name):
"""Load the model and tokenizer"""
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
return tokenizer, model
def predict_alignment(text, reason, tokenizer, model):
"""Predict whether text aligns with reason"""
# Tokenize inputs
inputs = tokenizer(
text,
reason,
return_tensors="pt",
padding=True,
truncation=True,
max_length=512
)
# Get prediction
with torch.no_grad():
outputs = model(**inputs)
probabilities = torch.softmax(outputs.logits, dim=1)
prediction = torch.argmax(probabilities, dim=1).item()
confidence = probabilities[0][prediction].item()
return prediction, confidence
if __name__ == "__main__":
# Example usage
model_name = "your-username/edtech-feedback-validation"
# Load model
tokenizer, model = load_model(model_name)
# Test examples
test_cases = [
("this is an amazing app for online classes!", "good app for conducting online classes"),
("i cannot login to zoom", "help"),
("very practical and easy to use", "app is user-friendly")
]
for text, reason in test_cases:
prediction, confidence = predict_alignment(text, reason, tokenizer, model)
result = "ALIGNED" if prediction == 1 else "NOT ALIGNED"
print(f"Text: {text}")
print(f"Reason: {reason}")
print(f"Result: {result} (Confidence: {confidence:.3f})")
print("-" * 50)