Validate request and response for ML prediction
Building on your work as a data scientist at the coffee company, you now need to create a FastAPI endpoint that validates input request using CoffeeQualityInput data validation model and a QualityPrediction for response validation.
This endpoint will accept coffee data and return a quality prediction along with the confidence score.
The model is already loaded into a function called predict_quality for this exercise.
This exercise is part of the course
Deploying AI into Production with FastAPI
Exercise instructions
- Define
CoffeeQualityInputwith fieldsaroma(float),flavor(float), andaltitude(int). - Specify the
response_modelto validate the response within the POST request decorator. - Specify the data model to validate input request containing the
coffee_data.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
class CoffeeQualityInput(BaseModel):
____: ____
____: ____
____: ____
class QualityPrediction(BaseModel):
quality_score: float
confidence: float
# Specify the data model to validate response
@app.post("/predict", response_model=____)
# Specify the data model to validate input request
def predict(coffee_data: ____):
prediction = predict_quality(coffee_data)
return prediction