drggboy 5 månader sedan
förälder
incheckning
7ad341655b
1 ändrade filer med 9 tillägg och 14 borttagningar
  1. 9 14
      api/app/routes.py

+ 9 - 14
api/app/routes.py

@@ -1,41 +1,36 @@
 import sqlite3
 
-from flask import Blueprint, request, jsonify, g
+from flask import Blueprint, request, jsonify, g, current_app
 from .model import predict
 import pandas as pd
-
+from flask_sqlalchemy import SQLAlchemy
 
 # 创建蓝图 (Blueprint),用于分离路由
 bp = Blueprint('routes', __name__)
-DATABASE = 'SoilAcidification.db'
-
 
 def get_db():
     db = getattr(g, '_database', None)
     if db is None:
-        db = g._database = sqlite3.connect(DATABASE)
+        # database_url = current_app.config['DATABASE']
+        # db = g._database = sqlite3.connect(database_url)
+        db = SQLAlchemy(current_app)
     return db
 
 
-# 路由:预测
 @bp.route('/predict', methods=['POST'])
 def predict_route():
     try:
-        # 从请求中获取数据
         data = request.get_json()
+        model_name = data.get('model_name', 'RF_filt')  # 提取模型名称
+        parameters = data.get('parameters', {})  # 提取所有参数
 
-        # 将数据转为 pandas DataFrame,确保数据列名一致
-        input_data = pd.DataFrame([data])
+        input_data = pd.DataFrame([parameters])  # 转换参数为DataFrame
+        predictions = predict(input_data, model_name)  # 调用预测函数
 
-        # 调用模型进行预测
-        predictions = predict(input_data)
-
-        # 返回预测结果
         return jsonify({'predictions': predictions}), 200
     except Exception as e:
         return jsonify({'error': str(e)}), 400
 
-
 # 定义添加数据库记录的 API 接口
 @bp.route('/add_item', methods=['POST'])
 def add_item():