| from ai import DiseasePredictionModel
|
| from flask import Flask, request, jsonify
|
|
|
| app = Flask(__name__)
|
|
|
| model = DiseasePredictionModel()
|
|
|
| @app.route("/ai/text", methods=["POST"])
|
| def ai_text():
|
| try:
|
| text = request.json["prompt"]
|
| print(f"Original text: {text}")
|
| corrected_text = model.correct_text(text)
|
| print(f"Corrected text: {corrected_text}")
|
| extracted_symptoms = model.extract_symptoms(corrected_text)
|
| print(f"Extracted symptoms: {extracted_symptoms}")
|
| matched_symptoms = model.match_symptoms(extracted_symptoms)
|
| print(f"Matched symptoms: {matched_symptoms}")
|
| if matched_symptoms == []:
|
| return jsonify({"disease": "No matching symptoms found."})
|
| predicted_disease = model.predict_disease(matched_symptoms)
|
| print(f"Predicted disease: {predicted_disease}")
|
| return jsonify({"disease": predicted_disease})
|
| except:
|
| return 400
|
|
|
|
|
|
|
| @app.route("/ai/list", methods=["POST"])
|
| def ai_list():
|
| body = request.get_json()
|
| try:
|
| data = body["symptoms"]
|
| print(data)
|
| out = model.predict_disease(data)
|
| return jsonify({"output":out}),200
|
| except:
|
| return jsonify({"status": "error"}),400
|
|
|
| if __name__ == "__main__":
|
| app.run(debug=True, host="0.0.0.0", port=7860) |