Defina um serviço e sua API
Exponha executores por meio de um endpoint de serviço tipado.
Defina um serviço e sua API é uma aula grátis de MLOps Academy 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 MLOps Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de MLOps Academy inclui 4 aulas no total.
O que é um Service
No BentoML, um Service é a unidade que você disponibiliza. Ele encapsula seu modelo e expõe um ou mais endpoints de API que os clientes podem chamar. 🛎️
Os executores executam o modelo
Um executor é um invólucro otimizado do BentoML ao redor de um modelo salvo. Ele lida com a inferência em seu próprio trabalhador para que a API continue responsiva.
runner = bentoml.sklearn.get("iris_clf:latest").to_runner()Crie o Service
Você cria um serviço atribuindo-lhe um nome e passando seus executores. O objeto Service é o que o BentoML disponibiliza e escala.
svc = bentoml.Service("iris_classifier", runners=[runner])Adicione um endpoint
Você expõe uma função como uma API com o decorador @svc.api. Essa função se torna uma rota HTTP que pode ser chamada.
@svc.api(input=..., output=...)
def classify(data):
...Declare a entrada e a saída
Você define descritores de IO tipados para que o BentoML possa validar e serializar os dados. NumpyNdarray informa que ele deve esperar e retornar matrizes.
from bentoml.io import NumpyNdarrayChame o executor internamente
Dentro da função da API, você invoca o modelo por meio do executor. Usar run envia a entrada ao trabalhador do modelo e retorna o resultado.
result = runner.predict.run(data)
return resultColoque-o em service.py
O BentoML procura seu código em um arquivo definido por convenção. Coloque o serviço em service.py, na raiz do projeto.
Disponibilize-o localmente
Um comando inicia um servidor de desenvolvimento. bentoml serve aponta para o arquivo e o objeto svc e depois monitora as alterações.
bentoml serve service:svc --reloadUse JSON para dicionários
Nem toda API trabalha com matrizes. Troque o descritor para JSON quando seus clientes enviarem e esperarem dicionários.
from bentoml.io import JSONDocumentação Swagger integrada
Depois que estiver em execução, o BentoML disponibiliza a documentação interativa do Swagger no URL raiz, para que você possa testar cada endpoint no navegador. 🎉
Teste com uma chamada curl
Você pode chamar o endpoint ativo pelo terminal. Um curl POST rápido envia uma entrada de exemplo e mostra a previsão retornada.
curl -X POST localhost:3000/classify -d "[[5.1,3.5,1.4,0.2]]"Verificação rápida
Você quer chamar seu modelo de dentro de uma função de API. Qual é o wrapper correto a ser usado?
Recapitulação
Você transformou um executor em um Service, expôs um endpoint @svc.api com IO tipado, colocou tudo em service.py e o disponibilizou com documentação integrada. API em produção concluída! 🙌
Perguntas Frequentes
A aula “Defina um serviço e sua API” é grátis?
Sim — o texto completo de “Defina um serviço e sua API” é 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 MLOps Academy, atualize para CoddyKit PRO. O curso de MLOps Academy inclui 4 aulas no total.
O que vou aprender em “Defina um serviço e sua API”?
Exponha executores por meio de um endpoint de serviço tipado. Você pratica MLOps Academy 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 MLOps Academy?
Nenhuma experiência prévia é necessária. MLOps Academy 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 “Defina um serviço e sua API”?
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 MLOps Academy?
Sim. Cada aula de MLOps Academy 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
- Salve um modelo na loja Bento
- Defina um serviço e sua API
- Ative o microprocessamento adaptativo em lotes
- Compile um Bento e coloque-o em um contêiner