import gradio as gr import tensorflow as tf from transformers import pipeline import os # Cargar tus modelos de clasificación (asumiendo que están en la raíz del proyecto) try: model_transformer_encoder = tf.keras.models.load_model('stacked_transformer_encoder.keras') model_transformer_positional_encoding = tf.keras.models.load_model('transformer_encoder_pos.keras') model_simple_rnn = tf.keras.models.load_model('model_simple_rnn.keras') model_lstm = tf.keras.models.load_model('model_lstm.keras') print("Modelos de clasificación cargados correctamente.") except Exception as e: print(f"Error al cargar los modelos de clasificación: {e}") model_transformer_encoder = None model_transformer_positional_encoding = None model_simple_rnn = None model_lstm = None # Cargar el pipeline de traducción de Hugging Face (inglés a español) try: translator_en_es = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es") except Exception as e: print(f"Error al cargar el modelo de traducción (inglés a español): {e}") translator_en_es = None def clasificar_noticia(texto, modelo_seleccionado): pass def traducir_texto_en_es(texto_en): pass def main(): with gr.Blocks() as demo: gr.Markdown("# Aplicación de Clasificación y Traducción") input_texto_clasificacion = gr.Textbox(label="Ingresa la noticia aquí:") modelo_seleccion = gr.Dropdown( ["Transformer Encoder Apilado", "Transformer Positional Encoding", "Simple RNN", "LSTM"], label="Selecciona el modelo:" ) output_clasificacion = gr.Textbox(label="Resultado de la clasificación:") boton_clasificar = gr.Button("Clasificar") input_texto_traduccion = gr.Textbox(label="Ingresa el texto en inglés:") output_traduccion = gr.Textbox(label="Texto traducido al español:") boton_traducir = gr.Button("Traducir") gr.TabbedInterface( [ [ gr.Markdown("## Clasificación de Noticias"), input_texto_clasificacion, modelo_seleccion, boton_clasificar, output_clasificacion, ], [ gr.Markdown("## Traducción de Inglés a Español"), input_texto_traduccion, boton_traducir, output_traduccion, ], ], ["Clasificación de Noticias", "Traducción (Inglés a Español)"] ) boton_clasificar.click(fn=clasificar_noticia, inputs=[input_texto_clasificacion, modelo_seleccion], outputs=output_clasificacion) boton_traducir.click(fn=traducir_texto_en_es, inputs=[input_texto_traduccion], outputs=output_traduccion) demo.launch() if __name__ == "__main__": main()