0Pricing
MLOps Academy · Aula

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 NumpyNdarray

Chame 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 result

Coloque-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 --reload

Use 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 JSON

Documentaçã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

  1. Salve um modelo na loja Bento
  2. Defina um serviço e sua API
  3. Ative o microprocessamento adaptativo em lotes
  4. Compile um Bento e coloque-o em um contêiner
← Voltar para MLOps Academy