Spaces:
Runtime error
Runtime error
| from flask import Flask, request, jsonify | |
| from flask_cors import CORS | |
| import joblib | |
| import pandas as pd | |
| import os | |
| app = Flask(__name__) | |
| CORS(app) # Enable CORS for all routes | |
| model = None | |
| preprocessor = None | |
| def health(): | |
| return jsonify({"status": "ok", "message": "Backend is running"}), 200 | |
| def load_model(): | |
| global model, preprocessor | |
| if model is None or preprocessor is None: | |
| print("๐ฆ Loading model and preprocessor...") | |
| model = joblib.load('boston_housing_model.pkl') | |
| preprocessor = joblib.load('preprocessor.pkl') | |
| print("โ Model and preprocessor loaded successfully.") | |
| def predict(): | |
| try: | |
| load_model() # Load model only when needed | |
| data = request.json | |
| if not data: | |
| return jsonify({'error': 'No input data provided'}), 400 | |
| df = pd.DataFrame(data, index=[0]) | |
| processed_data = preprocessor.transform(df) | |
| prediction = model.predict(processed_data) | |
| print(f"๐จ Received payload: {data}") | |
| print(f"๐ฎ Prediction: {prediction[0]}") | |
| return jsonify({'prediction': float(prediction[0])}) | |
| except Exception as e: | |
| return jsonify({'error': str(e)}), 500 | |
| if __name__ == '__main__': | |
| port = int(os.environ.get("PORT", 5000)) | |
| print(f"๐ Starting backend server on port {port}") | |
| app.run(host='0.0.0.0', port=port) | |