SSS18 commited on
Commit
1a01f13
·
verified ·
1 Parent(s): 04201e7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -5
app.py CHANGED
@@ -1,17 +1,47 @@
1
  from flask import Flask, request, jsonify
2
  import joblib
3
  import numpy as np
 
4
 
5
  app = Flask(__name__)
6
 
 
7
  model = joblib.load("predictive_model.pkl")
8
 
9
- @app.route("/")
10
  def home():
11
- return "Predictive Maintenance API Running"
 
12
 
13
  @app.route("/predict", methods=["POST"])
14
  def predict():
15
- data = request.json["features"]
16
- prediction = model.predict([data])
17
- return jsonify({"prediction": int(prediction[0])})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  from flask import Flask, request, jsonify
2
  import joblib
3
  import numpy as np
4
+ import traceback
5
 
6
  app = Flask(__name__)
7
 
8
+ # Load model
9
  model = joblib.load("predictive_model.pkl")
10
 
11
+ @app.route("/", methods=["GET"])
12
  def home():
13
+ return "Predictive Maintenance API Running 🚀"
14
+
15
 
16
  @app.route("/predict", methods=["POST"])
17
  def predict():
18
+ try:
19
+ data = request.get_json()
20
+
21
+ # Expecting named features
22
+ features = [
23
+ data["Air_temperature"],
24
+ data["Process_temperature"],
25
+ data["Rotational_speed"],
26
+ data["Torque"],
27
+ data["Tool_wear"],
28
+ data["Type_L"],
29
+ data["Type_M"]
30
+ ]
31
+
32
+ prediction = model.predict([features])
33
+
34
+ return jsonify({
35
+ "prediction": int(prediction[0]),
36
+ "status": "No Failure" if prediction[0] == 0 else "Machine Failure"
37
+ })
38
+
39
+ except Exception as e:
40
+ return jsonify({
41
+ "error": str(e),
42
+ "trace": traceback.format_exc()
43
+ })
44
+
45
+
46
+ if __name__ == "__main__":
47
+ app.run(host="0.0.0.0", port=7860)