0Pricing
Learn AI with Python · Aula

Fundamentos de FastAPI para engenheiros de aprendizado de máquina

Aplicação FastAPI, endpoints GET/POST, parâmetros de caminho e de consulta, e async def versus def para inferência de aprendizado de máquina.

Fundamentos de FastAPI para engenheiros de aprendizado de máquina é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 1 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 FastAPI em ML?

FastAPI é uma estrutura web moderna para Python, ideal para disponibilizar modelos: é rápida, gera documentação interativa automaticamente e valida solicitações com dicas de tipo. Ela se tornou a forma padrão de colocar um modelo por trás de uma API HTTP.

Criando a aplicação

Instancie uma aplicação FastAPI; esse objeto app contém todas as suas rotas.

from fastapi import FastAPI

app = FastAPI(title="Model Serving API")

Um ponto de acesso GET /health

Uma verificação de integridade permite que balanceadores de carga e orquestradores confirmem que o serviço está ativo. Ela retorna um estado simples, sem executar trabalho pesado.

@app.get("/health")
def health():
    return {"status": "ok"}

Um ponto de acesso POST /predict

As previsões recebem dados de entrada, portanto usam POST com um corpo de solicitação. A função recebe a carga útil analisada e retorna a saída do modelo.

@app.post("/predict")
def predict(features: list[float]):
    result = model.predict([features])
    return {"prediction": result[0]}

GET versus POST

  • GET: recuperar dados, sem corpo, usado para verificações de integridade e leituras simples.
  • POST: enviar dados no corpo, usado para previsões nas quais você envia atributos.

Executando com uvicorn

uvicorn é o servidor ASGI que executa o FastAPI. Inicie-o pelo código ou pela linha de comando.

import uvicorn

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

Inicialização pela linha de comando

É mais comum iniciar pela CLI, indicando o módulo e o objeto da aplicação para o uvicorn. --reload reinicia automaticamente quando há alterações no código durante o desenvolvimento.

# terminal
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

Documentação interativa gratuita

O FastAPI gera automaticamente a Swagger UI em /docs e o ReDoc em /redoc a partir das suas dicas de tipo, permitindo testar pontos de acesso no navegador sem nenhum código adicional.

async def para operações limitadas por IO

Use async def para pontos de acesso que aguardam operações de IO (banco de dados, APIs externas, leituras de arquivos). O modo assíncrono permite que o servidor processe outras solicitações enquanto aguarda, aumentando a taxa de transferência.

@app.get("/external")
async def fetch():
    data = await call_remote_service()
    return data

sync def para inferência limitada pela CPU

O predict do modelo geralmente é limitado pela CPU. Defina esses pontos de acesso com um sync def simples; o FastAPI os executa em um pool de threads para que não bloqueiem o ciclo de eventos. Usar async para trabalho pesado de CPU, na verdade, congelaria o servidor.

@app.post("/predict")
def predict(features: list[float]):
    # CPU-bound inference -> sync def
    return {"prediction": model.predict([features])[0]}

Escolhendo entre async e sync

  • async def: limitado por IO, aguarda a rede ou o disco.
  • sync def: inferência de modelo limitada pela CPU, executada em um pool de threads.

Escolher a opção certa mantém o servidor responsivo sob carga.

Verificação rápida

Teste seus conhecimentos básicos sobre FastAPI.

Recapitulação

Você criou um serviço FastAPI: criou o app, adicionou GET /health e POST /predict, executou-o com uvicorn e aprendeu a usar async def para operações limitadas por IO e sync def para inferência limitada pela CPU. Próximo assunto: esquemas de solicitação e resposta com Pydantic.

Perguntas Frequentes

A aula “Fundamentos de FastAPI para engenheiros de aprendizado de máquina” é grátis?

Sim — o texto completo de “Fundamentos de FastAPI para engenheiros de aprendizado de máquina” é 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 “Fundamentos de FastAPI para engenheiros de aprendizado de máquina”?

Aplicação FastAPI, endpoints GET/POST, parâmetros de caminho e de consulta, e async def versus def para inferência de aprendizado de máquina. 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 1 de 4.

Quanto tempo leva a aula “Fundamentos de FastAPI para engenheiros de aprendizado de máquina”?

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