Isaacdsn1 commited on
Commit
3c89909
·
verified ·
1 Parent(s): 09cca0d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -32
app.py CHANGED
@@ -1,36 +1,28 @@
1
- import gradio as gr
2
- import pickle
3
- import os
4
 
5
- # ==============================
6
- # 1. Carregar o modelo
7
- # ==============================
8
- MODEL_PATH = "baseline_pipe.pkl"
9
 
10
- def load_model():
11
- if not os.path.exists(MODEL_PATH):
12
- return None
13
- with open(MODEL_PATH, "rb") as f:
14
- model = pickle.load(f)
15
- return model
 
 
 
 
 
16
 
17
- model = load_model()
 
 
 
 
 
 
18
 
19
- # ==============================
20
- # 2. Função de predição
21
- # ==============================
22
- def predict_sentiment(text):
23
- if model is None:
24
- return {
25
- "erro": "Modelo não encontrado. Envie baseline_pipe.pkl nos Files do Space."
26
- }
27
-
28
- try:
29
- pred = model.predict([text])[0]
30
- proba = model.predict_proba([text]).max()
31
-
32
- label = "positivo" if pred == 1 else "negativo"
33
-
34
- return {
35
- "sentimento": label,
36
- "confianca": float(round(proba,
 
1
+ MODEL_PATH = os.getenv("MODEL_PATH", "baseline_pipe.pkl")
 
 
2
 
3
+ baseline = None
4
+ if os.path.exists(MODEL_PATH):
5
+ baseline = joblib.load(MODEL_PATH)
 
6
 
7
+ def predict_sentiment(text: str):
8
+ if not text or text.strip() == "":
9
+ return {"predição": "n/a", "confiança": 0.0}
10
+ if baseline is None:
11
+ # Mensagem amigável quando o modelo ainda não foi enviado
12
+ return {"erro": "Modelo não encontrado. Envie baseline_pipe.pkl nos Files do Space."}
13
+ proba = baseline.predict_proba([text])[0]
14
+ pred = int(np.argmax(proba))
15
+ label = "positivo" if pred == 1 else "negativo"
16
+ conf = float(np.max(proba))
17
+ return {"predição": label, "confiança": conf}
18
 
19
+ demo = gr.Interface(
20
+ fn=predict_sentiment,
21
+ inputs=gr.Textbox(label="Digite uma avaliação de produto"),
22
+ outputs=gr.JSON(label="Resultado"),
23
+ title="Análise de Sentimentos (Amazon Polarity)",
24
+ description="Envie o arquivo baseline_pipe.pkl na aba Files para ativar o modelo."
25
+ )
26
 
27
+ if __name__ == "__main__":
28
+ demo.launch()