Spaces:
Runtime error
Runtime error
| # -*- coding: utf-8 -*- | |
| """Untitled4.ipynb | |
| Automatically generated by Colab. | |
| Original file is located at | |
| https://colab.research.google.com/drive/1EXuvC4UJ8gxvo2IexM6RnsC9uktSij2N | |
| """ | |
| # app.py | |
| from flask import Flask, request, jsonify | |
| from predict import get_credit_score # Import fungsi dari predict.py | |
| import os | |
| app = Flask(__name__) | |
| def home(): | |
| # Route sederhana untuk mengecek apakah server hidup | |
| return "Credit Score API is running!" | |
| def predict_score(): | |
| try: | |
| # Ambil data JSON dari body request (dari aplikasi mobile) | |
| raw_data = request.get_json() | |
| if not raw_data: | |
| return jsonify({"error": "No input data provided."}), 400 | |
| # Panggil fungsi prediksi | |
| result = get_credit_score(raw_data) | |
| # Kembalikan hasil prediksi ke aplikasi mobile | |
| return jsonify({ | |
| "status": "success", | |
| "score": result['score'], | |
| "keputusan": result['decision'] | |
| }) | |
| except Exception as e: | |
| # Handle error jika ada yang salah (misalnya, data input kurang) | |
| print(f"An error occurred: {e}") | |
| return jsonify({"error": f"Prediction failed due to an internal error: {str(e)}"}), 500 | |
| if __name__ == '__main__': | |
| # Pastikan 'predict.py' dan file model/scalers berada di path yang benar | |
| # Ganti '0.0.0.0' agar server dapat diakses dari luar (penting untuk deployment) | |
| port = int(os.environ.get('PORT', 5000)) | |
| app.run(host='0.0.0.0', port=port) |