0Pricing
Learn AI with Python · Aula

Esquemas Pydantic para requisições e respostas

BaseModel, validação de campos, dicas de tipo, response_model e tratamento de erros de validação.

Esquemas Pydantic para requisições e respostas é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Por que usar esquemas?

Dicionários brutos são propensos a erros. Os modelos Pydantic definem o formato exato das solicitações e respostas, validando os tipos automaticamente e documentando sua API. O FastAPI os utiliza nativamente.

O BaseModel

Os esquemas do Pydantic são subclasses de BaseModel. Cada atributo tipado se torna um campo validado; tipos incorretos são rejeitados antes que seu código seja executado.

from pydantic import BaseModel

class PredictRequest(BaseModel):
    features: list[float]

Um esquema de solicitação

Defina o que os clientes devem enviar. Aqui, features deve ser uma lista de números de ponto flutuante, e você pode adicionar outros campos, como uma versão do modelo ou um identificador da solicitação.

class PredictRequest(BaseModel):
    features: list[float]
    model_version: str = "latest"

Um esquema de resposta

Defina o que sua API retorna para que os clientes recebam um contrato estável e documentado.

class PredictResponse(BaseModel):
    prediction: float
    probability: float

Usando esquemas em um ponto de acesso

Defina o tipo do parâmetro usando seu modelo de solicitação, e o FastAPI analisará e validará automaticamente o corpo JSON em um objeto tipado.

from fastapi import FastAPI
app = FastAPI()

@app.post("/predict")
def predict(req: PredictRequest):
    pred = model.predict([req.features])[0]
    return {"prediction": pred, "probability": 0.92}

O parâmetro response_model

Passe response_model ao decorador da rota. O FastAPI valida e filtra a saída para que corresponda ao esquema, removendo campos extras e documentando a resposta em /docs.

@app.post("/predict", response_model=PredictResponse)
def predict(req: PredictRequest) -> PredictResponse:
    return PredictResponse(prediction=1.0, probability=0.92)

list[float] para vetores de atributos

Tipar os atributos como list[float] faz com que o Pydantic rejeite strings ou tipos mistos antes da inferência, detectando dados de entrada malformados na fronteira, em vez de no interior do código do modelo.

HTTPException para erros

Quando a validação dos tipos é aprovada, mas as regras de negócio falham (número incorreto de atributos, modelo desconhecido), lance HTTPException com um código de estado e uma mensagem.

from fastapi import HTTPException

@app.post("/predict")
def predict(req: PredictRequest):
    if len(req.features) != 4:
        raise HTTPException(status_code=422,
            detail="Expected exactly 4 features")
    return {"prediction": model.predict([req.features])[0]}

Validadores de campos

Um field_validator impõe regras personalizadas a um campo, como rejeitar listas de atributos vazias, antes mesmo que a lógica do ponto de acesso seja executada.

from pydantic import BaseModel, field_validator

class PredictRequest(BaseModel):
    features: list[float]

    @field_validator("features")
    @classmethod
    def not_empty(cls, v):
        if not v:
            raise ValueError("features cannot be empty")
        return v

Restrições de campos

Use Field para restrições declarativas, como comprimento mínimo ou intervalos numéricos, que também aparecem na documentação gerada automaticamente.

from pydantic import BaseModel, Field

class PredictRequest(BaseModel):
    features: list[float] = Field(min_length=1)

Respostas 422 automáticas

Quando uma solicitação falha na validação do Pydantic, o FastAPI retorna automaticamente uma 422 Entidade não processável com um corpo de erro detalhado, sem necessidade de código adicional. Essa é uma das maiores vantagens de produtividade do FastAPI.

Verificação rápida

Teste seus conhecimentos sobre esquemas do Pydantic.

Recapitulação

Você definiu esquemas BaseModel para solicitações e respostas, usou list[float] para os atributos, aplicou response_model, lançou HTTPException para erros de negócio e adicionou validadores de campos. O FastAPI retorna automaticamente o código 422 para entradas inválidas. Próximo assunto: carregamento e disponibilização do modelo.

Perguntas Frequentes

A aula “Esquemas Pydantic para requisições e respostas” é grátis?

Sim — o texto completo de “Esquemas Pydantic para requisições e respostas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Esquemas Pydantic para requisições e respostas”?

BaseModel, validação de campos, dicas de tipo, response_model e tratamento de erros de validação. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Esquemas Pydantic para requisições e respostas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos de FastAPI para engenheiros de aprendizado de máquina
  2. Esquemas Pydantic para requisições e respostas
  3. Carregando e disponibilizando modelos de aprendizado de máquina
  4. Conteinerização da API do modelo
← Voltar para Learn AI with Python