murfhi commited on
Commit
24e1f4d
·
verified ·
1 Parent(s): 8c95181

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -0
app.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from pydantic import BaseModel
3
+ import joblib
4
+ import numpy as np
5
+
6
+ app = FastAPI()
7
+
8
+ # Load model
9
+ model = joblib.load('BEST_MODEL_LightGBM_TFIDF.joblib')
10
+
11
+ class PredictionRequest(BaseModel):
12
+ text: str
13
+ top_k: int = 3
14
+
15
+ @app.post("/predict")
16
+ def predict(request: PredictionRequest):
17
+ # Your prediction logic here
18
+ probabilities = model.predict_proba([request.text])[0]
19
+ top_indices = np.argsort(probabilities)[::-1][:request.top_k]
20
+
21
+ results = []
22
+ for idx in top_indices:
23
+ results.append({
24
+ 'sdg_number': idx + 1,
25
+ 'sdg_name': f'SDG {idx + 1}',
26
+ 'confidence': float(probabilities[idx])
27
+ })
28
+
29
+ return {'predictions': results}