omm7 commited on
Commit
1f5490b
·
verified ·
1 Parent(s): b177e78

Upload 3 files

Browse files
Files changed (3) hide show
  1. Dockerfile +4 -5
  2. app.py +19 -19
  3. requirements.txt +4 -4
Dockerfile CHANGED
@@ -1,11 +1,10 @@
1
- FROM python:3.9
2
 
3
  WORKDIR /app
4
 
5
- COPY . .
6
-
7
- RUN pip install -r requirements.txt
8
 
9
- EXPOSE 7860
10
 
11
  CMD ["python", "app.py"]
 
1
+ FROM python:3.11-slim
2
 
3
  WORKDIR /app
4
 
5
+ COPY requirements.txt requirements.txt
6
+ RUN pip install --no-cache-dir -r requirements.txt
 
7
 
8
+ COPY . .
9
 
10
  CMD ["python", "app.py"]
app.py CHANGED
@@ -1,19 +1,19 @@
1
- from flask import Flask, request, jsonify
2
- import pickle
3
-
4
- app = Flask(__name__)
5
-
6
- # Load model
7
- with open("xgb_superkart_model.pkl", "rb") as f:
8
- model = pickle.load(f)
9
-
10
- @app.route("/")
11
- def index():
12
- return "SuperKart API Running"
13
-
14
- @app.route("/predict", methods=["POST"])
15
- def predict():
16
- data = request.json
17
- features = [data['features']]
18
- prediction = model.predict(features)
19
- return jsonify({"prediction": prediction[0]})
 
1
+ from flask import Flask, request, jsonify
2
+ import pickle
3
+ import numpy as np
4
+
5
+ app = Flask(__name__)
6
+
7
+ # Load model
8
+ with open("xgb_superkart_model.pkl", "rb") as f:
9
+ model = pickle.load(f)
10
+
11
+ @app.route("/predict", methods=["POST"])
12
+ def predict():
13
+ data = request.get_json(force=True)
14
+ features = np.array(data["features"]).reshape(1, -1)
15
+ prediction = model.predict(features)
16
+ return jsonify({"prediction": float(prediction[0])})
17
+
18
+ if __name__ == "__main__":
19
+ app.run(host="0.0.0.0", port=7860)
requirements.txt CHANGED
@@ -1,4 +1,4 @@
1
- flask
2
- scikit-learn
3
- numpy
4
- xgboost
 
1
+ flask
2
+ numpy
3
+ scikit-learn
4
+ xgboost