【发布时间】:2022-01-06 15:06:04
【问题描述】:
在执行快速 API 代码 fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that <class 'main.SoluteSolvent'> is a valid pydantic field type 时出现此错误
class SoluteSolvent():
solvent: Text
solute: Text
response = {}
@app.get('/predict')
def predict(sol:SoluteSolvent):
data = sol.dict()
solute = data['solute']
solvent = data['solvent']
results = predictions(solute, solvent)
print(results)
response["predictions"] = results[0].item()
response["interaction_map"] = (results[1].detach().numpy()).tolist()
return {'result':response}
我实际上是在尝试在快速 API 中复制我为预测而编写的代码。
response = {}
@app.route('/predict', methods=["POST", "GET"])
def predict():
if request.method=='POST':
solute = request.form["solute"]
solvent = request.form["solvent"]
else:
solute = request.args.get("solute")
solvent = request.args.get("solvent")
results = predictions(solute, solvent)
response["predictions"] = results[0].item()
response["interaction_map"] = (results[1].detach().numpy()).tolist()
return flask.jsonify({'result': response})
【问题讨论】: