Adicionando uma nova versão de endpoint
Um cliente da sua API de classificação de pinguins pediu um endpoint que faça o pré-processamento de dados a partir de uma string de texto delimitada por espaços, em vez de um dicionário JSON. Você precisa adicionar um esquema e um endpoint "v2" ao seu app para aceitar o novo formato de entrada.
A instância do FastAPI chamada app e a classe PenguinV1 já foram carregadas.
Este exercício faz parte do curso
Colocando IA em Produção com FastAPI
Instruções do exercício
- Adicione um modelo Pydantic
PenguinV2que aceite um parâmetrodatacomo string. - Adicione um endpoint do classificador de pinguins v2 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