Adicionando uma nova versão do endpoint
Um cliente da sua API de classificação Penguin pediu um endpoint que pré-processe dados de uma string de texto delimitada por espaços em vez de um dicionário JSON. Você precisa adicionar um esquema “v2” e um endpoint ao seu aplicativo para aceitar o novo formato de entrada.
A instância FastAPI chamada app
e a classe PenguinV1
já estão carregadas.
Este exercício faz parte do curso
Implementando IA na produção com FastAPI
Instruções do exercício
- Adiciona um modelo Pydantic
PenguinV2
que aceita um parâmetrodata
como uma string. - Adicione um ponto final do classificador v2 penguin em
/v2/penguin_classifier
. - Use o modelo v2 como entrada para o endpoint v2.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Add v2 model
class ____(BaseModel):
data: str
@app.post("/v1/penguin_classifier")
def classify_penguin_v1(penguin: PenguinV1):
values = list(penguin.model_dump().values())
result = classifier.predict([values])[0]
return result
# Add v2 endpoint
@app.post("____")
# Use v2 model
def classify_penguin_v2(penguin: ____):
values = penguin.data.split()
result = classifier.predict([values])[0]
return result