import torchfrom transformers import AutoModelForImageTextToText, AutoTokenizer model = AutoModelForImageTextToText.from_pretrained( "yuyu199741/raya-decision-v1", dtype=torch.bfloat16).cuda().eval()tokenizer = AutoTokenizer.from_pretrained("yuyu199741/raya-decision-v1") text = """User: 帮我把明天下午3点的会议改到4点。这个请求的意图是什么? A. 修改会议时间B. 创建新会议C. 取消会议D. 查询会议详情 Answer with exactly one label from the options above.""" inputs = tokenizer(text, return_tensors="pt").to("cuda")with torch.no_grad(): logits = model(**inputs).logits # Masked projection: extract logits at candidate label token positionslast_logits = logits[0, -1, :]label_token_ids = { "A": tokenizer.encode(" A", add_special_tokens=False)[0], "B": tokenizer.encode(" B", add_special_tokens=False)[0], "C": tokenizer.encode(" C", add_special_tokens=False)[0], "D": tokenizer.encode(" D", add_special_tokens=False)[0],} selected = torch.tensor([last_logits[tid].item() for tid in label_token_ids.values()])probs = torch.softmax(selected, dim=-1) for label, prob in zip(label_token_ids.keys(), probs): print(f"{label}: {prob:.2%}")