import gradio as gr import joblib import numpy as np import os MODEL_PATH = os.getenv("MODEL_PATH", "baseline_pipe.pkl") baseline = None if os.path.exists(MODEL_PATH): baseline = joblib.load(MODEL_PATH) def predict_sentiment(text: str): if not text or text.strip() == "": return {"predição": "n/a", "confiança": 0.0} if baseline is None: # Mensagem amigável quando o modelo ainda não foi enviado return {"erro": "Modelo não encontrado. Envie baseline_pipe.pkl nos Files do Space."} proba = baseline.predict_proba([text])[0] pred = int(np.argmax(proba)) label = "positivo" if pred == 1 else "negativo" conf = float(np.max(proba)) return {"predição": label, "confiança": conf} demo = gr.Interface( fn=predict_sentiment, inputs=gr.Textbox(label="Digite uma avaliação de produto"), outputs=gr.JSON(label="Resultado"), title="Análise de Sentimentos (Amazon Polarity)", description="Envie o arquivo baseline_pipe.pkl na aba Files para ativar o modelo." ) if __name__ == "__main__": demo.launch()