| import torch | |
| from transformers import ( | |
| AutoTokenizer, | |
| AutoModelForSeq2SeqLM, | |
| AdamW, | |
| get_linear_schedule_with_warmup | |
| ) | |
| model = AutoModelForSeq2SeqLM.from_pretrained("ADELIB/ANQG") | |
| tokenizer = AutoTokenizer.from_pretrained("ADELIB/ANQG") | |
| device = torch.device("cuda" if torch.cuda.is_available() else "cpu") | |
| print("device",device) | |
| model=model.to(device) | |
| import gradio as gr | |
| def generate__questions(cnt,ans): | |
| text="context: " +cnt + " " + "answer: " + ans + " </s>" | |
| text_encoding = tokenizer.encode_plus( | |
| text,max_length=512,padding=True,return_tensors="pt" | |
| ) | |
| model.eval() | |
| generated_ids = model.generate( | |
| input_ids=text_encoding['input_ids'].to(device), | |
| attention_mask=text_encoding['attention_mask'].to(device), | |
| max_length=72, | |
| early_stopping=True, | |
| num_beams=5, | |
| num_return_sequences=1 | |
| ) | |
| preds = [ | |
| tokenizer.decode(gen_id,skip_special_tokens=True,clean_up_tokenization_spaces=True) | |
| for gen_id in generated_ids | |
| ] | |
| t=' '.join(preds) | |
| st=t.replace('question: ',' ') | |
| return(st) | |
| demo = gr.Interface(fn=generate__questions, inputs=[gr.Textbox(label='Context'), | |
| gr.Textbox(label='Answer')] , | |
| outputs=gr.Textbox(label='Question'), | |
| title="Arabic Question Generation", | |
| description="Get the Question from given Context and a Answer") | |
| demo.launch() | |