Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -22,31 +22,28 @@ def MELCHIOR(sue):#BERT
|
|
22 |
return "承認" if mask[allow]>mask[deny] else "否定"
|
23 |
|
24 |
def BALTHASAR(sue):#mT5
|
25 |
-
allow=mT5Tokenizer("承認").input_ids[1]
|
26 |
-
deny=mT5Tokenizer("否定").input_ids[1]
|
27 |
-
encoder_output=mT5Model.encoder(**mT5Tokenizer('BALTHASARは母としての人格としての人格を持っています。人間とBALTHASARの対話です。人間「'+sue+'。承認 か 否定 のどちらかで答えてください。」'+"BALTHASAR 「<X>」",return_tensors="pt"))
|
28 |
-
id=None
|
29 |
-
p_answer=None
|
30 |
-
probs=None
|
31 |
-
i=0
|
32 |
-
txt="<pad><X>"
|
33 |
-
i=i+1
|
34 |
-
probs=mT5Model(inputs_embeds=encoder_output.last_hidden_state,decoder_input_ids=mT5Tokenizer(txt,return_tensors="pt").input_ids[:,:-1]).logits[0]
|
35 |
-
id=torch.argmax(probs[-1])
|
36 |
-
txt=txt+mT5Tokenizer.decode(id)
|
37 |
-
votes.append(1 if probs[-1][allow]>probs[-1][deny] else -1)
|
38 |
-
return "承認" if probs[-1][allow]>probs[-1][deny] else "否定"
|
39 |
-
|
40 |
-
def CASPER(sue):#mBERT
|
41 |
allow=mBERTTokenizer("Yes").input_ids[1]
|
42 |
deny=mBERTTokenizer("No").input_ids[1]
|
43 |
output=mBERTModel(**mBERTTokenizer('MELCHIORは科学者としての人格を持っています。人間とMELCHIORの対話です。人間「'+sue+'。賛成か反対か。」'+"MELCHIOR 「[MASK]」",return_tensors="pt")).logits
|
|
|
44 |
mask=output[0,-3,:]
|
45 |
print(mBERTTokenizer.decode(torch.argmax(output[0,-3,:])))
|
46 |
votes.append(1 if mask[allow]>mask[deny] else -1)
|
47 |
return "承認" if mask[allow]>mask[deny] else "否定"
|
48 |
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
def greet(sue):
|
51 |
text1="BERT-1"+MELCHIOR(sue)
|
52 |
text2="GPT-2"+CASPER(sue)
|
|
|
22 |
return "承認" if mask[allow]>mask[deny] else "否定"
|
23 |
|
24 |
def BALTHASAR(sue):#mT5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
allow=mBERTTokenizer("Yes").input_ids[1]
|
26 |
deny=mBERTTokenizer("No").input_ids[1]
|
27 |
output=mBERTModel(**mBERTTokenizer('MELCHIORは科学者としての人格を持っています。人間とMELCHIORの対話です。人間「'+sue+'。賛成か反対か。」'+"MELCHIOR 「[MASK]」",return_tensors="pt")).logits
|
28 |
+
print(mBERTTokenizer.batch_decode(torch.argmax(output,-1)))
|
29 |
mask=output[0,-3,:]
|
30 |
print(mBERTTokenizer.decode(torch.argmax(output[0,-3,:])))
|
31 |
votes.append(1 if mask[allow]>mask[deny] else -1)
|
32 |
return "承認" if mask[allow]>mask[deny] else "否定"
|
33 |
|
34 |
|
35 |
+
def CASPER(sue):#GPT2
|
36 |
+
allow=GPT2Tokenizer("賛成").input_ids[1]
|
37 |
+
deny=GPT2Tokenizer("反対").input_ids[1]
|
38 |
+
inpt=GPT2Tokenizer('CASPERは女としての人格を持っています。人間とCASPERの対話です。人間「'+sue+'。賛成か反対か。」'+"CASPER 「",return_tensors="pt")
|
39 |
+
probs=GPT2Model(input_ids=inpt.input_ids[:,:-1],attention_mask=inpt.attention_mask[:,:-1]).logits[0]
|
40 |
+
i=-1
|
41 |
+
p_answer=probs
|
42 |
+
id=torch.argmax(probs[i])
|
43 |
+
votes.append(1 if probs[i][allow]>probs[i][deny] else -1)
|
44 |
+
return "承認" if probs[i][allow]>probs[i][deny] else "否定"
|
45 |
+
|
46 |
+
|
47 |
def greet(sue):
|
48 |
text1="BERT-1"+MELCHIOR(sue)
|
49 |
text2="GPT-2"+CASPER(sue)
|