Light-Dav's picture
Update app.py
94adeb8 verified
raw
history blame
1.77 kB
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)