gelezeta's picture
Upload app.py
37f0e92 verified
from transformers import MarianMTModel, MarianTokenizer
import gradio as gr
# Diccionario con modelos de traducción
modelos = {
"Español a Inglés": "Helsinki-NLP/opus-mt-es-en",
"Español a Francés": "Helsinki-NLP/opus-mt-es-fr",
"Español a Alemán": "Helsinki-NLP/opus-mt-es-de",
"Español a Italiano": "Helsinki-NLP/opus-mt-es-it",
"Español a Portugués": "Helsinki-NLP/opus-mt-es-pt"
}
# Función de traducción
def traducir(texto, idioma_destino):
modelo = modelos[idioma_destino]
tokenizer = MarianTokenizer.from_pretrained(modelo)
model = MarianMTModel.from_pretrained(modelo)
tokens = tokenizer(texto, return_tensors="pt", padding=True)
traduccion = model.generate(**tokens)
resultado = tokenizer.decode(traduccion[0], skip_special_tokens=True)
return resultado
# Interfaz con Gradio
interfaz = gr.Interface(
fn=traducir,
inputs=[
gr.Textbox(lines=5, label="Texto en Español"),
gr.Dropdown(choices=list(modelos.keys()), label="Traducir a", value="Español a Inglés")
],
outputs="text",
title="🌍 Traductor Multilingüe",
description="Traducí textos desde español a varios idiomas con inteligencia artificial 🤖"
)
# Lanzar la app
interfaz.launch()