Akshat747 commited on
Commit
6e3aec1
·
verified ·
1 Parent(s): 7d66fa8

Upload 4 files

Browse files
Files changed (4) hide show
  1. Dockerfile +19 -0
  2. app.py +33 -0
  3. requirements.txt +4 -0
  4. superkart_sales_predictor.joblib +3 -0
Dockerfile ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use official lightweight Python image
2
+ FROM python:3.9-slim
3
+
4
+ # Set workdir
5
+ WORKDIR /app
6
+
7
+ # Copy project files
8
+ COPY app.py .
9
+ COPY superkart_sales_predictor.joblib .
10
+ COPY requirements.txt .
11
+
12
+ # Install dependencies
13
+ RUN pip install -r requirements.txt
14
+
15
+ # Expose Hugging Face default port
16
+ EXPOSE 7860
17
+
18
+ # Start Flask API
19
+ CMD ["python", "app.py"]
app.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify
2
+ import joblib
3
+ import pandas as pd
4
+
5
+ # Initialize Flask app
6
+ app = Flask(__name__)
7
+
8
+ # Load trained model (pipeline with preprocessing)
9
+ model = joblib.load("superkart_sales_predictor.joblib")
10
+
11
+ @app.route("/")
12
+ def home():
13
+ return jsonify({"message": "SuperKart Sales Predictor API is running 🚀"})
14
+
15
+ @app.route("/predict", methods=["POST"])
16
+ def predict():
17
+ try:
18
+ # Input JSON
19
+ data = request.get_json()
20
+
21
+ # Convert to DataFrame
22
+ new_data = pd.DataFrame([data])
23
+
24
+ # Prediction
25
+ prediction = model.predict(new_data)[0]
26
+
27
+ return jsonify({"prediction": float(prediction)})
28
+
29
+ except Exception as e:
30
+ return jsonify({"error": str(e)})
31
+
32
+ if __name__ == "__main__":
33
+ app.run(host="0.0.0.0", port=7860)
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ flask
2
+ scikit-learn
3
+ pandas
4
+ joblib
superkart_sales_predictor.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d5cbe0c5430759b2c8d197c3a43b861296223a1a6d0c36386d2f7d1e834e66f8
3
+ size 52440938