import gradio as gr from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline device = "cpu" tokenizer = AutoTokenizer.from_pretrained("humarin/chatgpt_paraphraser_on_T5_base") model = AutoModelForSeq2SeqLM.from_pretrained("humarin/chatgpt_paraphraser_on_T5_base").to(device) translation = pipeline("translation", model="facebook/nllb-200-distilled-600M", src_lang='en', tgt_lang="fr") m2m100_en_fr = pipeline('translation', 'facebook/m2m100_418M', src_lang='en', tgt_lang="fr") def paraphrase( question, num_beams=5, num_beam_groups=5, num_return_sequences=1, repetition_penalty=10.0, diversity_penalty=3.0, no_repeat_ngram_size=2, temperature=0.7, max_length=1024 ): input_ids = tokenizer( f'paraphrase: {question}', return_tensors="pt", padding="longest", max_length=max_length, truncation=True, ).input_ids.to(device) outputs = model.generate( input_ids, temperature=temperature, repetition_penalty=repetition_penalty, num_return_sequences=num_return_sequences, no_repeat_ngram_size=no_repeat_ngram_size, num_beams=num_beams, num_beam_groups=num_beam_groups, max_length=max_length, diversity_penalty=diversity_penalty ) res = tokenizer.batch_decode(outputs, skip_special_tokens=True) return res def summary(myinput): myout = m2m100_en_fr(myinput) return myout def launch(input): out = summary(paraphrase(input)) return out iface = gr.Interface(launch, inputs="textbox", outputs="textbox") iface.launch(share=True)