omm7 commited on
Commit
aeab453
Β·
verified Β·
1 Parent(s): f7b66e0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -18
app.py CHANGED
@@ -1,47 +1,38 @@
1
  from flask import Flask, request, jsonify
 
2
  import joblib
3
  import pandas as pd
4
  import os
5
- from datetime import datetime
6
 
7
  # Load the model and preprocessor
8
  model = joblib.load('boston_housing_model.pkl')
9
  preprocessor = joblib.load('preprocessor.pkl')
10
 
11
  app = Flask(__name__)
 
12
 
 
13
  @app.route('/health', methods=['GET'])
14
  def health_check():
15
  return jsonify({"status": "ok", "message": "Backend is running"}), 200
16
 
 
17
  @app.route('/predict', methods=['POST'])
18
  def predict():
19
  try:
20
- steps = []
21
- steps.append("βœ… Request received")
22
-
23
  data = request.json
24
- print(f"[{datetime.now()}] πŸ“© Received prediction request: {data}")
25
- steps.append("πŸ“¦ Data loaded into DataFrame")
26
 
27
  df = pd.DataFrame(data, index=[0])
28
  processed_data = preprocessor.transform(df)
29
- steps.append("πŸ”„ Data preprocessed")
30
-
31
  prediction = model.predict(processed_data)
32
- steps.append("πŸ“Š Prediction complete")
33
-
34
- print(f"[{datetime.now()}] βœ… Prediction result: {prediction[0]}")
35
 
36
- return jsonify({
37
- 'prediction': prediction[0],
38
- 'steps': steps
39
- })
40
  except Exception as e:
41
- print(f"[{datetime.now()}] ❌ Error: {str(e)}")
42
- return jsonify({'error': str(e)}), 500
43
 
44
  if __name__ == '__main__':
45
  port = int(os.environ.get("PORT", 5000))
46
- print(f"[{datetime.now()}] πŸš€ Backend server starting on port {port}...")
47
  app.run(host='0.0.0.0', port=port)
 
1
  from flask import Flask, request, jsonify
2
+ from flask_cors import CORS
3
  import joblib
4
  import pandas as pd
5
  import os
 
6
 
7
  # Load the model and preprocessor
8
  model = joblib.load('boston_housing_model.pkl')
9
  preprocessor = joblib.load('preprocessor.pkl')
10
 
11
  app = Flask(__name__)
12
+ CORS(app) # βœ… Enable CORS for all routes
13
 
14
+ # Health check route
15
  @app.route('/health', methods=['GET'])
16
  def health_check():
17
  return jsonify({"status": "ok", "message": "Backend is running"}), 200
18
 
19
+ # Prediction route
20
  @app.route('/predict', methods=['POST'])
21
  def predict():
22
  try:
 
 
 
23
  data = request.json
24
+ app.logger.info(f"πŸ“© Received payload: {data}")
 
25
 
26
  df = pd.DataFrame(data, index=[0])
27
  processed_data = preprocessor.transform(df)
 
 
28
  prediction = model.predict(processed_data)
 
 
 
29
 
30
+ app.logger.info(f"βœ… Prediction result: {prediction[0]}")
31
+ return jsonify({'prediction': prediction[0]})
 
 
32
  except Exception as e:
33
+ app.logger.error(f"❌ Error: {e}")
34
+ return jsonify({'error': str(e)})
35
 
36
  if __name__ == '__main__':
37
  port = int(os.environ.get("PORT", 5000))
 
38
  app.run(host='0.0.0.0', port=port)