Spaces:
Sleeping
Sleeping
import gradio as gr | |
from transformers import pipeline | |
# ID de tu modelo de análisis de sentimientos que ya subiste | |
MODEL_ID = "Light-Dav/sentiment-analysis-full-project" | |
# Cargar el pipeline del modelo | |
try: | |
classifier = pipeline("sentiment-analysis", model=MODEL_ID) | |
except Exception as e: | |
print(f"Error al cargar el modelo {MODEL_ID}: {e}") | |
classifier = None # Para evitar errores si classifier no se inicializa | |
def analyze_sentiment(text): | |
if not text: | |
return {"Positive": 0.0, "Negative": 0.0, "Neutral": 0.0} | |
if classifier is None: | |
return {"Error": "Modelo no cargado. Contactar al administrador."} | |
# Realizar la inferencia | |
# pipeline devuelve una lista de diccionarios, tomamos el primero | |
results = classifier(text)[0] | |
# Formatear el resultado para Gradio (diccionario de etiqueta a score) | |
formatted_results = {} | |
for item in results: | |
formatted_results[item['label']] = item['score'] | |
return formatted_results | |
# Crear la interfaz de Gradio | |
iface = gr.Interface( | |
fn=analyze_sentiment, | |
inputs=gr.Textbox(lines=3, placeholder="Escribe tu texto aquí..."), | |
outputs=gr.Label(num_top_classes=3), # Mostrar las 3 clases principales (Positivo, Negativo, Neutro) | |
title="🤖 Análisis de Sentimientos en Español", | |
description="Introduce un texto en español y el modelo predecirá su sentimiento (Positivo, Negativo, Neutro).", | |
examples=[ | |
["Me encantó este libro, es fascinante y lo recomiendo totalmente."], | |
["El servicio fue terrible, muy lento y poco amable."], | |
["La reunión se programó para el jueves a las 10 AM."] | |
] | |
) | |
# Iniciar la aplicación Gradio (esto se hace automáticamente en Hugging Face Spaces) | |
iface.launch(share=False) |