tinyInstruct / app.py
AItool's picture
Update app.py
f6944de verified
raw
history blame
1.37 kB
import gradio as gr
from transformers import MarianMTModel, MarianTokenizer
# Load English→Spanish
en_es_model = MarianMTModel.from_pretrained("Helsinki-NLP/opus-mt-en-es")
en_es_tokenizer = MarianTokenizer.from_pretrained("Helsinki-NLP/opus-mt-en-es")
# Load Spanish→English
es_en_model = MarianMTModel.from_pretrained("Helsinki-NLP/opus-mt-es-en")
es_en_tokenizer = MarianTokenizer.from_pretrained("Helsinki-NLP/opus-mt-es-en")
def polish(sentence: str) -> str:
# Step 1: English → Spanish
inputs = en_es_tokenizer(sentence, return_tensors="pt", padding=True)
translated = en_es_model.generate(**inputs, max_length=128)
spanish = en_es_tokenizer.decode(translated[0], skip_special_tokens=True)
# Step 2: Spanish → English
inputs2 = es_en_tokenizer(spanish, return_tensors="pt", padding=True)
back_translated = es_en_model.generate(**inputs2, max_length=128)
english = es_en_tokenizer.decode(back_translated[0], skip_special_tokens=True)
return english
demo = gr.Interface(
fn=polish,
inputs=gr.Textbox(lines=2, placeholder="Enter a sentence in English..."),
outputs=gr.Textbox(label="Corrected English"),
title="Round-trip Grammar Polisher",
description="Uses Helsinki-NLP MarianMT models (en→es→en) to smooth and correct English sentences."
)
if __name__ == "__main__":
demo.launch()