import gradio as gr from transformers import pipeline, T5Tokenizer, T5ForConditionalGeneration import requests import os # Cargar el token de Hugging Face configurado en el espacio token = os.getenv("HF_TOKEN") if not token: raise ValueError("El token no se configuró correctamente en las variables de entorno del Espacio.") API_URL = "https://api-inference.huggingface.co/models/Helsinki-NLP/opus-mt-en-es" headers = {"Authorization": f"Bearer {token}"} # Cargar el modelo y el tokenizador de resumen tokenizer = T5Tokenizer.from_pretrained("sumedh/t5-base-amazonreviews", clean_up_tokenization_spaces=True, legacy=False) model = T5ForConditionalGeneration.from_pretrained("sumedh/t5-base-amazonreviews") summarizer = pipeline("summarization", model=model, tokenizer=tokenizer) # Función para realizar el resumen y la traducción def texto_sum(text): # Resumir el texto de entrada summary = summarizer(text, do_sample=False)[0]['summary_text'] # Realizar la traducción del resumen utilizando la API de Hugging Face response = requests.post(API_URL, headers=headers, json={"inputs": summary}) translation = response.json() # Verificar si hay errores en la respuesta de la traducción if 'error' in translation: return f"Error en la traducción: {translation['error']}" return translation[0]['translation_text'] # Interfaz de Gradio demo = gr.Interface( fn=texto_sum, inputs=gr.Textbox(label="Texto a introducir:", placeholder="Introduce el texto a resumir aquí..."), outputs="text" ) # Lanzar la interfaz demo.launch()