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 + " " 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()