Определение сервиса и его API
Предоставляйте доступ к исполнителям через конечную точку типизированного сервиса
«Определение сервиса и его API» — бесплатный урок MLOps Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MLOps Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MLOps Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
What a Service Is
In BentoML a Service is the unit you deploy. It wraps your model and exposes one or more API endpoints clients can call. 🛎️
Runners Run the Model
A runner is BentoML's optimized wrapper around a saved model. It handles inference in its own worker so the API stays responsive.
runner = bentoml.sklearn.get("iris_clf:latest").to_runner()Create the Service
You build a service by naming it and passing its runners. The Service object is what BentoML serves and scales.
svc = bentoml.Service("iris_classifier", runners=[runner])Add an Endpoint
You expose a function as an API with the @svc.api decorator. That function becomes a callable HTTP route.
@svc.api(input=..., output=...)
def classify(data):
...Declare Input and Output
You set typed IO descriptors so BentoML can validate and serialize. NumpyNdarray tells it to expect and return arrays.
from bentoml.io import NumpyNdarrayCall the Runner Inside
Within the API function you invoke the model through the runner. Using run sends the input to the model worker and returns the result.
result = runner.predict.run(data)
return resultPut It in service.py
BentoML looks for your code in a file by convention. You place the service in service.py at your project root.
Serve It Locally
One command starts a dev server. bentoml serve points at the file and the svc object, then watches for changes.
bentoml serve service:svc --reloadUse JSON for Dicts
Not every API speaks arrays. Swap the descriptor to JSON when your clients send and expect dictionaries instead.
from bentoml.io import JSONBuilt-In Swagger Docs
Once it runs, BentoML serves interactive Swagger docs at the root URL so you can test each endpoint in the browser. 🎉
Test with a curl Call
You can hit the live endpoint from your terminal. A quick curl POST sends sample input and shows the prediction it returns.
curl -X POST localhost:3000/classify -d "[[5.1,3.5,1.4,0.2]]"Quick Check
You want to call your model from inside an API function. What is the right wrapper to use?
Recap
You turned a runner into a Service, exposed an @svc.api endpoint with typed IO, dropped it in service.py, and served it with built-in docs. Live API done! 🙌
Часто задаваемые вопросы
Урок «Определение сервиса и его API» бесплатный?
Да — полный текст урока «Определение сервиса и его API» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MLOps Academy, подпишись на CoddyKit PRO. Курс MLOps Academy содержит 4 уроков всего.
Чему я научусь в уроке «Определение сервиса и его API»?
Предоставляйте доступ к исполнителям через конечную точку типизированного сервиса Ты практикуешь MLOps Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MLOps Academy?
Предыдущий опыт не требуется. MLOps Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Определение сервиса и его API»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MLOps Academy?
Да. Каждый урок MLOps Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Сохранение модели в хранилище Bento
- Определение сервиса и его API
- Включение адаптивной пакетной обработки
- Сборка Bento и упаковка в контейнер