Como criar novas rotas de forma dinâmica python/flask

Estou desenvolvendo uma aplicação que faz predições a partir de modelos, e queria implementar uma funcionalidade que me permita criar novas rotas através de uma função.

config = json.loads(open('config.json').read())  def create_models(config):     for key, val in config.items():         globals()[key] = initialize_model(val)  @app.route('/predict1', methods=['GET', 'POST']) def predict1():         if request.method == 'POST':                 try:                         information= request.data                 except Exception as e:                         print(e)                         return abort(400, e)                  try:                         results_inventory = predict1.pred(information)                         inventory = set_inventory(results_inventory)                         return jsonify(inventory)                 except Exception as e:                         print(e)                         return abort(500, e) 

Tudo está funcionando conforme desejado, config carrega meu json com as informações necessárias, create_models carrega meus modelos, predict1 recebe as informações e devolve os resultados da analíse.

Acontece que tenho mais de um modelo e queria disponibilizar uma nova rota para cada um deles, aqui um exemplo do meu config.json

{     "predict1":     {         "model": "cfg/configurationfile1.txt",         "load": 115,         "threshold": 0.25,     },      "predict2":     {         "model": "cfg/configurationfile2.txt",         "load": 600,         "threshold": 0.10,      }  } 

Como tenho dois modelos dentro do meu config.json, precisei criar uma nova rota manualmente, que é identica a primeira alterando apenas os locais do código onde aparecem ‘predict1’ para ‘predict2’, ficou assim:

@app.route('/predict1', methods=['GET', 'POST'])     def predict1():             if request.method == 'POST':                     try:                             information= request.data                     except Exception as e:                             print(e)                             return abort(400, e)                      try:                             results_inventory = predict1.pred(information)                             inventory = set_inventory(results_inventory)                             return jsonify(inventory)                     except Exception as e:                             print(e)                             return abort(500, e)  @app.route('/predict2', methods=['GET', 'POST'])     def predict2():             if request.method == 'POST':                     try:                             information= request.data                     except Exception as e:                             print(e)                             return abort(400, e)                      try:                             results_inventory = predict2.pred(information)                             inventory = set_inventory(results_inventory)                             return jsonify(inventory)                     except Exception as e:                             print(e)                             return abort(500, e) 

Existe uma maneira de automatizar esse processo de criação de rotas, para que o próprio script gere uma nova rota sempre que uma nova configuração aparecer no meu json ?