从发送到 FastAPI 应用程序的请求正文中提取列表
Extract a list from the request body sent to FastAPI application
我有一个 FastAPI 应用程序,它根据发送给它的 HTTP POST 数据进行预测。代码如下
import tensorflow as tf
from typing import List
from fastapi import FastAPI, Response
from pydantic import BaseModel
class ItemList(BaseModel):
instances: List[List[float]]
app = FastAPI()
model = tf.keras.models.load_model('trainedmodel/1')
@app.post('/v1/models/my_model:predict')
def predict(inputdata: ItemList):
# Extract [[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]
result = {
"predictions": [
model.predict(modelInput).flatten().tolist()
]
}
return result
应用程序的请求类型是application/json并且请求正文包含{"instances":[[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]}
我需要从请求正文中提取 [[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]
,以便我可以将其输入到模型中(如上面代码中的 modelInput
)。在 Flask 中,我使用 request.json['instances']
来这样做。有人可以告诉我如何在 FastAPI 中做同样的事情吗?
要访问请求正文,您只需使用 inputdata.instances
class ItemList(BaseModel):
instances: List[List[float]]
@app.post('/v1/models/my_model:predict')
def predict(inputdata: ItemList):
# Extract [[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]
extracted_list = inputdata.instances
我有一个 FastAPI 应用程序,它根据发送给它的 HTTP POST 数据进行预测。代码如下
import tensorflow as tf
from typing import List
from fastapi import FastAPI, Response
from pydantic import BaseModel
class ItemList(BaseModel):
instances: List[List[float]]
app = FastAPI()
model = tf.keras.models.load_model('trainedmodel/1')
@app.post('/v1/models/my_model:predict')
def predict(inputdata: ItemList):
# Extract [[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]
result = {
"predictions": [
model.predict(modelInput).flatten().tolist()
]
}
return result
应用程序的请求类型是application/json并且请求正文包含{"instances":[[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]}
我需要从请求正文中提取 [[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]
,以便我可以将其输入到模型中(如上面代码中的 modelInput
)。在 Flask 中,我使用 request.json['instances']
来这样做。有人可以告诉我如何在 FastAPI 中做同样的事情吗?
要访问请求正文,您只需使用 inputdata.instances
class ItemList(BaseModel):
instances: List[List[float]]
@app.post('/v1/models/my_model:predict')
def predict(inputdata: ItemList):
# Extract [[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]
extracted_list = inputdata.instances