Если я не понял (я полагаю, вы спрашиваете, как получить отправку JSON в вашем маршруте и вернуть результат), похоже, вам нужно сделать что-то вроде:
p = PythonPredictor()
@app.route("/", methods=['POST'])
def hello():
data = request.get_json()
result = p.predict(data)
return result
Это эффективно запускает данные в вашем sample.json
через ваш PythonPredictor.predict
метод и возвращает это предсказание клиенту.
Обратите внимание, что этот код создает экземпляр p
вне функции маршрута, так что модель NLP загружается только при запуске приложения flask (не при каждом запросе). Однако, похоже, что это может повторно загрузить этот файл, если только AllenNLPPredictor.from_path
не выполняет некоторое кэширование, поэтому, вероятно, было бы целесообразно сначала вручную загрузить этот файл в свое собственное хранилище и загрузить оттуда в функцию PythonPredictor.__init__
.
Дайте мне знать, если что-то из этого требует уточнения, или я неправильно понял.