Spaces:
Sleeping
Sleeping
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) | |
#translator = pipeline("translation", model="facebook/nllb-200-distilled-600M") | |
translator = pipeline("translation_en_to_fr", model="google-t5/t5-large") | |
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 translate(myinput): | |
#myout = translator(myinput,src_lang="eng_Latn",tgt_lang="fra_Latn") | |
myout = translator(myinput,src_lang="en",tgt_lang="fr") | |
return myout | |
def predict(mytextInput): | |
#out = translate(paraphrase(mytextInput)) | |
out = paraphrase(mytextInput) | |
return out | |
def greet(name): | |
return "Hello "+name | |
iface = gr.Interface(fn=predict, | |
inputs="textbox", | |
outputs="text", | |
) | |
iface.launch(share=True) | |