【发布时间】:2020-04-01 22:51:00
【问题描述】:
我正在使用 AllenNLP 构建一个 Flask 测试预测器。
我将 .json 文件中的“段落”和“问题”传递给预测器。
但是,当我使用 curl 传递 json 文件时,它不会返回响应。 Flask 中是否有特殊返回获取它?
代码如下:
from allennlp.predictors.predictor import Predictor as AllenNLPPredictor
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route("/", methods=['GET','POST'])
def hello():
return "<h1>Test app!</h1>"
class PythonPredictor:
def __init__(self, config):
self.predictor = AllenNLPPredictor.from_path(
"https://storage.googleapis.com/allennlp-public-models/bidaf-elmo-model-2018.11.30-charpad.tar.gz"
)
def predict(self, payload):
if request.method == "POST":
prediction = self.predictor.predict(
passage=payload["passage"], question=payload["question"]
)
return prediction["best_span_str"]
Curl 命令看起来像: curl http://127.0.0.1:5000 -X POST -H "Content-Type: application/json" -d @sample.json
【问题讨论】:
-
网址看起来不正确。你可以试试
http://127.0.0.1:5000/predict -
感谢您的收获。这只是我卷曲中的一个错字,因为我正在尝试不同的路线。我现在已经在上面编辑了。如果你现在看路线,一切都在“/”下。