deva8217 commited on
Commit
583061d
·
verified ·
1 Parent(s): 3bc2c1d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -6
app.py CHANGED
@@ -3,26 +3,36 @@ import joblib
3
  import pandas as pd
4
 
5
  # Load the serialized model
6
- model = joblib.load("superkart_sales_forecast.pkl")
 
 
 
7
 
8
- # Define app
9
  app = Flask('superkart-sales-api')
10
 
11
  # Health check
12
  @app.route("/", methods=["GET"])
13
  def home():
14
- return "SuperKart Sales Forecasting API is live!"
15
 
16
  # Prediction endpoint
17
  @app.route("/predict", methods=["POST"])
18
  def predict():
19
  try:
 
20
  input_data = request.get_json()
 
 
21
  df = pd.DataFrame([input_data])
 
 
22
  prediction = model.predict(df)
23
- return jsonify({"predicted_sales": prediction[0]})
 
 
24
  except Exception as e:
25
- return jsonify({"error": str(e)})
26
 
27
  if __name__ == "__main__":
28
- app.run(host="0.0.0.0", port=7860)
 
3
  import pandas as pd
4
 
5
  # Load the serialized model
6
+ try:
7
+ model = joblib.load("superkart_sales_forecast.pkl")
8
+ except FileNotFoundError:
9
+ raise Exception("❌ Model file 'superkart_sales_forecast.pkl' not found!")
10
 
11
+ # Initialize Flask app
12
  app = Flask('superkart-sales-api')
13
 
14
  # Health check
15
  @app.route("/", methods=["GET"])
16
  def home():
17
+ return "SuperKart Sales Forecasting API is live!"
18
 
19
  # Prediction endpoint
20
  @app.route("/predict", methods=["POST"])
21
  def predict():
22
  try:
23
+ # Expecting input in JSON: { "feature1": val1, "feature2": val2, ... }
24
  input_data = request.get_json()
25
+
26
+ # Convert dict to DataFrame with one row
27
  df = pd.DataFrame([input_data])
28
+
29
+ # Predict
30
  prediction = model.predict(df)
31
+
32
+ # Return prediction
33
+ return jsonify({"predicted_sales": float(prediction[0])})
34
  except Exception as e:
35
+ return jsonify({"error": str(e)}), 400
36
 
37
  if __name__ == "__main__":
38
+ app.run(host="0.0.0.0", port=7860)