Views
No views yet
1import torch
2from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
4model_id = "cnmoro/granite-question-classifier"
5model = AutoModelForSequenceClassification.from_pretrained(model_id)
6tokenizer = AutoTokenizer.from_pretrained(model_id)
7model.eval()
8
9def predict_question_category(question):
10 inputs = tokenizer.encode_plus(
11 question,
12 add_special_tokens=True,
13 max_length=512,
14 return_tensors="pt",
15 truncation=True
16 )
17
18 input_ids = inputs["input_ids"]
19 attention_mask = inputs["attention_mask"]
20
21 with torch.no_grad():
22 outputs = model(input_ids, attention_mask=attention_mask)
23 logits = outputs.logits.squeeze(-1)
24 print(logits)
25 prediction = (logits > 0).float().item()
26
27 # Map prediction to category
28 return "directed" if prediction == 1.0 else "generic"
29
30predict_question_category("Qual o resumo do texto?") # generic
31predict_question_category("Qual foi a crítica que o autor recebeu do jornal, em relação a sua opinião?") # directed