rajana22 commited on
Commit
b8ba83b
·
verified ·
1 Parent(s): a5fd547

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. Dockerfile +9 -0
  2. app.py +37 -0
  3. requirements.txt +7 -0
  4. sales_forecast_model_v1.joblib +3 -0
Dockerfile ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.9-slim
2
+
3
+ WORKDIR /app
4
+
5
+ COPY . .
6
+
7
+ RUN pip install -r requirements.txt
8
+
9
+ CMD ["python", "app.py"]
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify
2
+ import joblib
3
+ import pandas as pd
4
+ import numpy as np
5
+
6
+ app = Flask(__name__)
7
+
8
+ # Load the serialized model
9
+ try:
10
+ model = joblib.load('sales_forecast_model_v1.joblib')
11
+ except Exception as e:
12
+ print(f"Error loading model: {e}")
13
+
14
+ @app.route('/v1/sales', methods=['POST'])
15
+ def predict_single():
16
+ """Endpoint for single prediction based on JSON input."""
17
+ try:
18
+ data = request.get_json()
19
+ df = pd.DataFrame([data])
20
+ prediction = model.predict(df)[0]
21
+ return jsonify({'Predicted_Sales': round(float(prediction), 2)})
22
+ except Exception as e:
23
+ return jsonify({'error': str(e)}), 400
24
+
25
+ @app.route('/v1/salesbatch', methods=['POST'])
26
+ def predict_batch():
27
+ """Endpoint for batch predictions from a CSV file."""
28
+ try:
29
+ file = request.files['file']
30
+ df = pd.read_csv(file)
31
+ predictions = model.predict(df)
32
+ return jsonify({str(idx): round(float(pred), 2) for idx, pred in enumerate(predictions)})
33
+ except Exception as e:
34
+ return jsonify({'error': str(e)}), 400
35
+
36
+ if __name__ == '__main__':
37
+ app.run(host='0.0.0.0', port=7860, debug=False)
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ flask==2.0.1
2
+ werkzeug==2.0.3
3
+ joblib==1.4.2
4
+ pandas==2.2.2
5
+ numpy==2.0.2
6
+ scikit-learn==1.6.1
7
+ xgboost==2.1.4
sales_forecast_model_v1.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:832ac40eeef81faaee2f17b3ef748397d8c1943afa83e31c537a8dbb589e9178
3
+ size 406804