Views
No views yet
1import torch
2from transformers import AutoTokenizer, AutoModelForSequenceClassification
3
4# Load Condition Checker
5classifier_path = "KomeijiForce/deberta-v3-base-check-conversational-scene"
6classifier_tokenizer = AutoTokenizer.from_pretrained(classifier_path)
7classifier = AutoModelForSequenceClassification.from_pretrained(classifier_path)
8
9# Formalize Condition Checking into Prompt
10scene = '''
11Arisa: I know you're on a roll right now Kasumi, but just calm down...
12Kasumi: I can't! I can't calm down!
13Arisa: I'm saying you're losing it, Kasumi.
14Saaya: We know exactly what you mean, Kasumi.
15Kasumi: Right?!
16Rimi: Of course. We all felt it, singing together like that♪
17Kasumi: Yay! I'm so glad you understand, Rimi-rin♪
18Tae: Sharing moments like this is what's really important.
19Kasumi: Sharing...! I wanna share this feeling with everybody! This sparkling, heart-pounding feeling!
20'''.strip()
21
22question = "Is Kasumi inspired by something exciting?"
23
24prompt = f'''Scene: {scene}
25
26Question: {question}
27
28Directly answer only yes/no/unknown.'''
29
30# Scoring and Decoding
31with torch.no_grad():
32 logits = classifier(**classifier_tokenizer(prompt, return_tensors="pt")).logits[0]
33 choice = logits.argmax(-1).item()
34
35answer = [False, None, True][choice]
36
37print(answer)
38# True