Files changed (1) hide show
  1. app.py +9 -9
app.py CHANGED
@@ -3,11 +3,11 @@ import torch
3
  BERTTokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese")
4
  BERTModel = AutoModelForMaskedLM.from_pretrained("cl-tohoku/bert-base-japanese")
5
 
6
- from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
7
  mT5Tokenizer = AutoTokenizer.from_pretrained("google/mt5-base")
8
  mT5Model = AutoModelForSeq2SeqLM.from_pretrained("google/mt5-base")
9
 
10
- from transformers import AutoTokenizer, AutoModelForCausalLM
11
  GPT2Tokenizer = AutoTokenizer.from_pretrained("rinna/japanese-gpt2-medium")
12
  GPT2Model = AutoModelForCausalLM.from_pretrained("rinna/japanese-gpt2-medium")
13
 
@@ -20,8 +20,8 @@ GPT2=None
20
  def MELCHIOR(sue):
21
  #BERT
22
  allow=BERTTokenizer("承認").input_ids[1]
23
- deny=BERTTokenizer("否定").input_ids[1]
24
- output=BERTModel(**BERTTokenizer('MELCHIORは科学者としての人格を持っています。人間とMELCHIORの対話です。人間「'+sue+'。承認 か 否定 のどちらかで答えてください。」'+"MELCHIOR 「[MASK]」",return_tensors="pt")).logits
25
  BERTTokenizer.batch_decode(torch.argmax(output,-1))
26
  mask=output[0,-3,:]
27
  votes.append(1 if mask[allow]>mask[deny] else -1)
@@ -30,8 +30,8 @@ def MELCHIOR(sue):
30
  def BALTHASAR(sue):
31
  #mT5
32
  allow=mT5Tokenizer("承認").input_ids[1]
33
- deny=mT5Tokenizer("否定").input_ids[1]
34
- encoder_output=mT5Model.encoder(**mT5Tokenizer('BALTHASARは母としての人格としての人格を持っています。人間とBALTHASARの対話です。人間「'+sue+'。承認 か 否定 のどちらかで答えてください。」'+"BALTHASAR 「<X>」",return_tensors="pt"))
35
  id=None
36
  p_answer=None
37
  probs=None
@@ -50,13 +50,13 @@ def BALTHASAR(sue):
50
  def CASPER(sue):
51
  #GPT2
52
  allow=GPT2Tokenizer("承認").input_ids[1]
53
- deny=GPT2Tokenizer("否定").input_ids[1]
54
- probs=GPT2Model(**GPT2Tokenizer('CASPERは女としての人格を持っています。人間とCASPERの対話です。人間「'+sue+'。承認 か 否定 のどちらかで答えてください。」'+"CASPER 「",return_tensors="pt")).logits[0]
55
  i=-1
56
  p_answer=probs
57
  id=torch.argmax(probs[i])
58
  votes.append(1 if probs[i][allow]>probs[i][deny] else -1)
59
- return "承認" if probs[i][allow]>probs[i][deny] else "否定"
60
 
61
  def greet(sue):
62
  text1="BERT-1"+MELCHIOR(sue)
 
3
  BERTTokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese")
4
  BERTModel = AutoModelForMaskedLM.from_pretrained("cl-tohoku/bert-base-japanese")
5
 
6
+ from transformers import AutoModelForSeq2SeqLM
7
  mT5Tokenizer = AutoTokenizer.from_pretrained("google/mt5-base")
8
  mT5Model = AutoModelForSeq2SeqLM.from_pretrained("google/mt5-base")
9
 
10
+ from transformers import AutoModelForCausalLM
11
  GPT2Tokenizer = AutoTokenizer.from_pretrained("rinna/japanese-gpt2-medium")
12
  GPT2Model = AutoModelForCausalLM.from_pretrained("rinna/japanese-gpt2-medium")
13
 
 
20
  def MELCHIOR(sue):
21
  #BERT
22
  allow=BERTTokenizer("承認").input_ids[1]
23
+ deny=BERTTokenizer("否決").input_ids[1]
24
+ output=BERTModel(**BERTTokenizer('MELCHIORは科学者としての人格を持っています。人間とMELCHIORの対話です。人間「'+sue+'。承認 か 否決 か?」'+"MELCHIOR 「[MASK]」",return_tensors="pt")).logits
25
  BERTTokenizer.batch_decode(torch.argmax(output,-1))
26
  mask=output[0,-3,:]
27
  votes.append(1 if mask[allow]>mask[deny] else -1)
 
30
  def BALTHASAR(sue):
31
  #mT5
32
  allow=mT5Tokenizer("承認").input_ids[1]
33
+ deny=mT5Tokenizer("否決").input_ids[1]
34
+ encoder_output=mT5Model.encoder(**mT5Tokenizer('BALTHASARは母としての人格としての人格を持っています。人間とBALTHASARの対話です。人間「'+sue+'。承認 か 否決 か?」'+"BALTHASAR 「<X>」",return_tensors="pt"))
35
  id=None
36
  p_answer=None
37
  probs=None
 
50
  def CASPER(sue):
51
  #GPT2
52
  allow=GPT2Tokenizer("承認").input_ids[1]
53
+ deny=GPT2Tokenizer("否決").input_ids[1]
54
+ probs=GPT2Model(**GPT2Tokenizer('CASPERは女としての人格を持っています。人間とCASPERの対話です。人間「'+sue+'。承認 か 否決 か?」'+"CASPER 「",return_tensors="pt")).logits[0]
55
  i=-1
56
  p_answer=probs
57
  id=torch.argmax(probs[i])
58
  votes.append(1 if probs[i][allow]>probs[i][deny] else -1)
59
+ return "承認" if probs[i][allow]>probs[i][deny] else "否決"
60
 
61
  def greet(sue):
62
  text1="BERT-1"+MELCHIOR(sue)