import torchfrom peft import PeftModelfrom transformers import AutoModelForSequenceClassification, AutoTokenizer model_id = "beau32/Qwen2.5-0.5B-OpenJEV-NLI"base_model_id = "Qwen/Qwen2.5-0.5B"id2label = {0: "contradiction", 1: "entailment", 2: "neutral"}label2id = {label: index for index, label in id2label.items()} tokenizer = AutoTokenizer.from_pretrained(model_id)base_model = AutoModelForSequenceClassification.from_pretrained( base_model_id, num_labels=3, id2label=id2label, label2id=label2id,)base_model.config.pad_token_id = tokenizer.pad_token_idbase_model.config.get_text_config().pad_token_id = tokenizer.pad_token_idmodel = PeftModel.from_pretrained(base_model, model_id)model.eval() premise = "A dog is running through a grassy field."hypothesis = "No animal is moving."inputs = tokenizer( f"Premise: {premise}\nHypothesis: {hypothesis}", return_tensors="pt", truncation=True, max_length=512,)with torch.inference_mode(): probabilities = torch.softmax(model(**inputs).logits[0].float(), dim=-1)print(id2label[int(probabilities.argmax())])print({id2label[index]: round(float(score), 6) for index, score in enumerate(probabilities)})