Spaces:
Sleeping
Sleeping
| from flask import Flask, request, jsonify | |
| import joblib | |
| import pandas as pd | |
| import numpy as np | |
| app = Flask(__name__) | |
| # Load the serialized model | |
| try: | |
| model = joblib.load('sales_forecast_model_v1.joblib') | |
| except Exception as e: | |
| print(f"Error loading model: {e}") | |
| def predict_single(): | |
| """Endpoint for single prediction based on JSON input.""" | |
| try: | |
| data = request.get_json() | |
| df = pd.DataFrame([data]) | |
| prediction = model.predict(df)[0] | |
| return jsonify({'Predicted_Sales': round(float(prediction), 2)}) | |
| except Exception as e: | |
| return jsonify({'error': str(e)}), 400 | |
| def predict_batch(): | |
| """Endpoint for batch predictions from a CSV file.""" | |
| try: | |
| file = request.files['file'] | |
| df = pd.read_csv(file) | |
| predictions = model.predict(df) | |
| return jsonify({str(idx): round(float(pred), 2) for idx, pred in enumerate(predictions)}) | |
| except Exception as e: | |
| return jsonify({'error': str(e)}), 400 | |
| if __name__ == '__main__': | |
| app.run(host='0.0.0.0', port=7860, debug=False) | |