brian-challenge / question_gen.py
Bendo's picture
Update question_gen.py
ab3cc0a
# beams = 5, return_seq = 1, max_length = 300
def get_question(sentence,answer,mdl,tknizer, num_seq, num_beams, max_length):
if num_seq > num_beams:
num_seq = num_beams
prompt = "context: {} answer: {}".format(sentence,answer)
print (prompt)
max_len = 256
encoding = tknizer.encode_plus(prompt,max_length=max_len, pad_to_max_length=False,truncation=True, return_tensors="pt")
input_ids, attention_mask = encoding["input_ids"], encoding["attention_mask"]
outs = mdl.generate(input_ids=input_ids,
attention_mask=attention_mask,
early_stopping=True,
num_beams=num_beams,
num_return_sequences=num_seq,
no_repeat_ngram_size=2,
max_length=max_length)
dec = [tknizer.decode(ids,skip_special_tokens=True) for ids in outs]
Question = [x.replace("question:", "") for x in dec]
return Question