Spaces:
Sleeping
Sleeping
from flask import Flask, request, jsonify | |
from dotenv import load_dotenv | |
import os | |
from models.fitness_model import FitnessModel | |
from models.nutrition_model import NutritionModel | |
load_dotenv() | |
HOST = os.getenv("FLASK_RUN_HOST", "0.0.0.0") | |
FLASK_RUN_PORT = os.getenv("FLASK_RUN_PORT", 7860) | |
fitness_model = FitnessModel.load() | |
nutrition_model = NutritionModel() | |
nutrition_model.load() | |
app = Flask("model-server") | |
def health(): | |
return "I'm alive!!" | |
def fitness_predict(): | |
paramNames = [ | |
"home_or_gym", | |
"level", | |
"goal", | |
"gender", | |
"age", | |
"feedback", | |
"old_weight", | |
"equipments", | |
] | |
params = {} | |
for paramName in paramNames: | |
value = request.json.get(paramName) | |
if value is None: | |
return jsonify({"error": f"{paramName} is missing"}), 400 | |
params[paramName] = value | |
res = fitness_model.predict(**params) | |
return jsonify(res) | |
def nutrition_predict(): | |
paramNames = ["calories"] | |
params = {} | |
for paramName in paramNames: | |
value = request.json.get(paramName) | |
if value is None: | |
return jsonify({"error": f"{paramName} is missing"}), 400 | |
params[paramName] = value | |
return jsonify(nutrition_model.generate_plan(**params)) | |
if __name__ == "__main__": | |
app.run(host=HOST, port=FLASK_RUN_PORT) | |