? Создавайте API вывода моделей и многомодельные обслуживающие системы с любыми моделями искусственного интеллекта с открытым исходным кодом или собственными. Присоединяйтесь к нашему сообществу Slack!
BentoML — это библиотека Python для создания систем онлайн-обслуживания, оптимизированных для приложений искусственного интеллекта и вывода моделей.
Установите БентоМЛ:
# Requires Python≥3.9
pip install -U bentoml
Определите API в файле service.py
.
from __future__ import annotations
import bentoml
@ bentoml . service (
resources = { "cpu" : "4" }
)
class Summarization :
def __init__ ( self ) -> None :
import torch
from transformers import pipeline
device = "cuda" if torch . cuda . is_available () else "cpu"
self . pipeline = pipeline ( 'summarization' , device = device )
@ bentoml . api ( batchable = True )
def summarize ( self , texts : list [ str ]) -> list [ str ]:
results = self . pipeline ( texts )
return [ item [ 'summary_text' ] for item in results ]
Запустите код службы локально (по умолчанию http://localhost:3000):
pip install torch transformers # additional dependencies for local run
bentoml serve service.py:Summarization
Теперь вы можете запустить вывод из браузера по адресу http://localhost:3000 или с помощью скрипта Python:
import bentoml
with bentoml . SyncHTTPClient ( 'http://localhost:3000' ) as client :
summarized_text : str = client . summarize ([ bentoml . __doc__ ])[ 0 ]
print ( f"Result: { summarized_text } " )
Чтобы развернуть код службы BentoML, сначала создайте файл bentofile.yaml
, чтобы определить его зависимости и среды. Полный список вариантов бентофиле можно найти здесь.
service : ' service:Summarization ' # Entry service import path
include :
- ' *.py ' # Include all .py files in current directory
python :
packages : # Python dependencies to include
- torch
- transformers
docker :
python_version : " 3.11 "
Затем выберите один из следующих способов развертывания:
Запустите bentoml build
, чтобы упаковать необходимый код, модели и конфигурации зависимостей в Bento — стандартизированный развертываемый артефакт в BentoML:
bentoml build
Убедитесь, что Docker запущен. Создайте образ контейнера Docker для развертывания:
bentoml containerize summarization:latest
Запустите сгенерированный образ:
docker run --rm -p 3000:3000 summarization:latest
BentoCloud предоставляет вычислительную инфраструктуру для быстрого и надежного внедрения GenAI. Это помогает ускорить процесс разработки BentoML, используя ресурсы облачных вычислений, а также упростить развертывание, масштабирование и эксплуатацию BentoML в производстве.
Зарегистрируйтесь в BentoCloud для личного доступа; для корпоративных случаев использования свяжитесь с нашей командой.
# After signup, run the following command to create an API token:
bentoml cloud login
# Deploy from current directory:
bentoml deploy .
Подробные объяснения можно найти в примере Hello World.
Ознакомьтесь с полным списком, чтобы узнать больше примеров кода и его использования.
Дополнительные руководства и руководства см. в документации.
Примите участие и присоединяйтесь к нашему сообществу Slack, где тысячи инженеров AI/ML помогают друг другу, вносят свой вклад в проект и рассказывают о создании продуктов AI.
Чтобы сообщить об ошибке или предложить новую функцию, используйте GitHub Issues.
Есть много способов внести свой вклад в проект:
#bentoml-contributors
здесь.Спасибо всем нашим замечательным участникам!
Платформа BentoML собирает анонимные данные об использовании, которые помогают нашему сообществу улучшать продукт. Сообщается только о внутренних вызовах API BentoML. При этом исключается любая конфиденциальная информация, такая как пользовательский код, данные модели, названия моделей или трассировки стека. Вот код, используемый для отслеживания использования. Вы можете отказаться от отслеживания использования с помощью опции CLI --do-not-track
:
bentoml [command] --do-not-track
Или установив переменную среды:
export BENTOML_DO_NOT_TRACK=True
Лицензия Апач 2.0