Spaces:
Build error
Build error
| import gradio as gr | |
| from transformers import pipeline, T5Tokenizer, T5ForConditionalGeneration | |
| import requests | |
| # Configura tu token de Hugging Face directamente aquí | |
| token = os.getenv("HF_TOKEN") | |
| if not token: | |
| raise ValueError("El token no se configuró. Asegúrate de ingresarlo correctamente.") | |
| # Configuración de los headers para la API con el token | |
| 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) | |
| 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" | |
| ) | |
| # Probar el token en una solicitud simple para verificar su validez | |
| def test_translation_api(): | |
| test_response = requests.post(API_URL, headers=headers, json={"inputs": "Hello, how are you?"}) | |
| response_data = test_response.json() | |
| # Comprobar si hay errores en la respuesta | |
| if 'error' in response_data: | |
| raise ValueError(f"Error en la API de traducción: {response_data['error']}") | |
| print("Token válido y API accesible. Respuesta de prueba:", response_data) | |
| # Ejecutar la prueba de token | |
| test_translation_api() | |
| # Lanzar la interfaz | |
| demo.launch() |