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 --reloadDocumentaçã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 datasync 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
- Fundamentos de FastAPI para engenheiros de aprendizado de máquina
- Esquemas Pydantic para requisições e respostas
- Carregando e disponibilizando modelos de aprendizado de máquina
- Conteinerização da API do modelo