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)
|