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)