Spaces:
Runtime error
Runtime error
Update README.md
Browse files
README.md
CHANGED
@@ -9,18 +9,17 @@ app_file: app.py
|
|
9 |
pinned: false
|
10 |
---
|
11 |
|
12 |
-
#
|
13 |
|
14 |
-
Esta aplicación web utiliza la librería Gradio y
|
15 |
|
16 |
## Funcionalidades
|
17 |
|
18 |
* **Entrada de texto en inglés:** Un cuadro de texto grande para que los usuarios peguen o escriban el texto que desean traducir.
|
19 |
-
* **Detección de idioma:** Antes de la traducción, se intenta detectar si el texto ingresado es inglés. Si no lo es, se muestra un mensaje de advertencia.
|
20 |
* **Traducción automática:** Utiliza un modelo preentrenado de Hugging Face Transformers para traducir el texto del inglés al español.
|
21 |
* **Salida de texto traducido:** Un cuadro de texto grande donde se muestra la traducción al español. Este cuadro es de solo lectura.
|
22 |
* **Botón "Borrar todo":** Permite limpiar fácilmente el cuadro de texto de entrada.
|
23 |
-
* **Instrucciones para copiar:** Se incluye un texto informativo indicando cómo copiar el texto traducido utilizando los atajos estándar del sistema operativo (Ctrl+C / Cmd+C).
|
24 |
|
25 |
## Cómo usar
|
26 |
|
@@ -42,65 +41,27 @@ import gradio as gr
|
|
42 |
# Define el modelo de traducción inglés-español
|
43 |
modelo_traduccion = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es")
|
44 |
|
45 |
-
# Define el modelo de clasificación de idiomas
|
46 |
-
modelo_idioma = pipeline("text-classification", model="joosbu/roberta-small-langdet")
|
47 |
-
|
48 |
-
def detectar_idioma(texto):
|
49 |
-
"""
|
50 |
-
Detecta el idioma del texto utilizando el modelo roberta-small-langdet.
|
51 |
-
|
52 |
-
Args:
|
53 |
-
texto (str): El texto del cual se quiere detectar el idioma.
|
54 |
-
|
55 |
-
Returns:
|
56 |
-
str: El código del idioma detectado (ej: 'en', 'es').
|
57 |
-
"""
|
58 |
-
try:
|
59 |
-
resultado = modelo_idioma(texto, top_k=1)[0]
|
60 |
-
return resultado['label']
|
61 |
-
except Exception as e:
|
62 |
-
print(f"Error en la detección de idioma: {e}")
|
63 |
-
return None
|
64 |
-
|
65 |
def traducir_texto(texto_en):
|
66 |
"""
|
67 |
-
Traduce el texto de entrada del inglés al español
|
68 |
-
|
69 |
-
Args:
|
70 |
-
texto_en (str): El texto en inglés que se va a traducir.
|
71 |
-
|
72 |
-
Returns:
|
73 |
-
str: El texto traducido al español o un mensaje de error si el idioma no es inglés.
|
74 |
"""
|
75 |
if not texto_en.strip():
|
76 |
return ""
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
resultado = modelo_traduccion(texto_en)
|
83 |
-
return resultado[0]['translation_text']
|
84 |
-
except Exception as e:
|
85 |
-
return f"Error en la traducción: {e}"
|
86 |
-
else:
|
87 |
-
return "Por favor, introduce texto en inglés para traducir."
|
88 |
|
89 |
def borrar_entrada(texto_entrada):
|
90 |
"""
|
91 |
Borra el texto del cuadro de texto de entrada.
|
92 |
-
|
93 |
-
Args:
|
94 |
-
texto_entrada (str): El texto actual en el cuadro de texto de entrada.
|
95 |
-
|
96 |
-
Returns:
|
97 |
-
str: Una cadena vacía.
|
98 |
"""
|
99 |
return ""
|
100 |
|
101 |
with gr.Blocks() as interfaz_traductor:
|
102 |
"""
|
103 |
-
Define la interfaz gráfica de la aplicación de traducción de inglés a español
|
104 |
"""
|
105 |
gr.Markdown("# Traductor Inglés a Español")
|
106 |
with gr.Row():
|
@@ -115,3 +76,20 @@ with gr.Blocks() as interfaz_traductor:
|
|
115 |
boton_borrar.click(borrar_entrada, inputs=texto_entrada_en, outputs=texto_entrada_en)
|
116 |
|
117 |
interfaz_traductor.launch()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
pinned: false
|
10 |
---
|
11 |
|
12 |
+
# Traductor Inglés a Español con Gradio
|
13 |
|
14 |
+
Esta aplicación web utiliza la librería Gradio y un modelo de Hugging Face Transformers para traducir texto del inglés al español.
|
15 |
|
16 |
## Funcionalidades
|
17 |
|
18 |
* **Entrada de texto en inglés:** Un cuadro de texto grande para que los usuarios peguen o escriban el texto que desean traducir.
|
|
|
19 |
* **Traducción automática:** Utiliza un modelo preentrenado de Hugging Face Transformers para traducir el texto del inglés al español.
|
20 |
* **Salida de texto traducido:** Un cuadro de texto grande donde se muestra la traducción al español. Este cuadro es de solo lectura.
|
21 |
* **Botón "Borrar todo":** Permite limpiar fácilmente el cuadro de texto de entrada.
|
22 |
+
* **Instrucciones para copiar:** Se incluye un texto informativo indicando cómo copiar el texto traducido utilizando los atajos estándar del sistema operativo (Ctrl+C / Cmd+C en macOS).
|
23 |
|
24 |
## Cómo usar
|
25 |
|
|
|
41 |
# Define el modelo de traducción inglés-español
|
42 |
modelo_traduccion = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es")
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
def traducir_texto(texto_en):
|
45 |
"""
|
46 |
+
Traduce directamente el texto de entrada del inglés al español.
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
"""
|
48 |
if not texto_en.strip():
|
49 |
return ""
|
50 |
+
try:
|
51 |
+
resultado = modelo_traduccion(texto_en)
|
52 |
+
return resultado[0]['translation_text']
|
53 |
+
except Exception as e:
|
54 |
+
return f"Error en la traducción: {e}"
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
def borrar_entrada(texto_entrada):
|
57 |
"""
|
58 |
Borra el texto del cuadro de texto de entrada.
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
"""
|
60 |
return ""
|
61 |
|
62 |
with gr.Blocks() as interfaz_traductor:
|
63 |
"""
|
64 |
+
Define la interfaz gráfica de la aplicación de traducción de inglés a español (básica).
|
65 |
"""
|
66 |
gr.Markdown("# Traductor Inglés a Español")
|
67 |
with gr.Row():
|
|
|
76 |
boton_borrar.click(borrar_entrada, inputs=texto_entrada_en, outputs=texto_entrada_en)
|
77 |
|
78 |
interfaz_traductor.launch()
|
79 |
+
```
|
80 |
+
|
81 |
+
## Requisitos
|
82 |
+
|
83 |
+
Asegúrate de tener la librería `gradio` y `transformers` instaladas. Si estás utilizando Hugging Face Spaces, puedes incluir las siguientes líneas en tu archivo `requirements.txt`:
|
84 |
+
|
85 |
+
```
|
86 |
+
gradio
|
87 |
+
transformers
|
88 |
+
```
|
89 |
+
|
90 |
+
## Despliegue en Hugging Face Spaces
|
91 |
+
|
92 |
+
1. Crea un nuevo Space en [Hugging Face Spaces](https://huggingface.co/spaces).
|
93 |
+
2. Elige una plantilla de Gradio (Gradio Static o Gradio Python SDK).
|
94 |
+
3. Sube tu archivo `app.py` (con el código de arriba) y un archivo `requirements.txt` (con las dependencias).
|
95 |
+
4. Hugging Face Spaces se encargará de construir y desplegar tu aplicación automáticamente.
|