RESTRA / app.py
Adriiiii24's picture
Update app.py
162bb59 verified
raw
history blame
2.16 kB
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()