dev02chandan commited on
Commit
99ed953
·
verified ·
1 Parent(s): 7bdf738

Upload required files

Browse files
Files changed (3) hide show
  1. Dockerfile +9 -0
  2. app.py +27 -0
  3. requirements.txt +5 -0
Dockerfile ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+
2
+ FROM python:3.10-slim
3
+ WORKDIR /app
4
+ COPY app.py .
5
+ COPY best_model.pkl .
6
+ COPY requirements.txt .
7
+ RUN pip install --no-cache-dir -r requirements.txt
8
+ EXPOSE 7860
9
+ CMD ["python", "app.py"]
app.py ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ from flask import Flask, request, jsonify
3
+ import joblib
4
+ import pandas as pd
5
+
6
+ # Load model
7
+ model = joblib.load("best_model.pkl")
8
+
9
+ # Initialize app
10
+ app = Flask(__name__)
11
+
12
+ @app.route("/", methods=["GET"])
13
+ def root():
14
+ return jsonify({"message": "Sales Forecasting API is live!"})
15
+
16
+ @app.route("/predict", methods=["POST"])
17
+ def predict():
18
+ try:
19
+ input_data = request.get_json()
20
+ input_df = pd.DataFrame([input_data])
21
+ prediction = model.predict(input_df)[0]
22
+ return jsonify({"predicted_sales": round(prediction, 2)})
23
+ except Exception as e:
24
+ return jsonify({"error": str(e)}), 400
25
+
26
+ if __name__ == "__main__":
27
+ app.run(host="0.0.0.0", port=7860)
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ flask==3.0.2
2
+ joblib==1.4.2
3
+ pandas==2.2.2
4
+ scikit-learn==1.6.1
5
+ xgboost==2.1.4