? 오픈 소스 또는 맞춤형 AI 모델을 사용하여 모델 추론 API 및 다중 모델 제공 시스템을 구축하세요. Slack 커뮤니티에 참여하세요!
BentoML은 AI 앱 및 모델 추론에 최적화된 온라인 서비스 시스템을 구축하기 위한 Python 라이브러리입니다.
BentoML을 설치합니다.
# Requires Python≥3.9
pip install -U bentoml
service.py
파일에 API를 정의합니다.
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
실행하여 필요한 코드, 모델, 종속성 구성을 BentoML의 표준화된 배포 가능한 아티팩트인 Bento에 패키징합니다.
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 예제를 읽어보세요.
더 많은 샘플 코드와 사용법을 보려면 전체 목록을 확인하세요.
더 많은 튜토리얼과 가이드는 문서를 참조하세요.
수천 명의 AI/ML 엔지니어가 서로 돕고, 프로젝트에 기여하고, AI 제품 구축에 대해 이야기하는 Community Slack에 참여하고 참여하세요.
버그를 보고하거나 기능 요청을 제안하려면 GitHub 문제를 사용하세요.
프로젝트에 기여하는 방법에는 여러 가지가 있습니다:
#bentoml-contributors
채널에서 피드백을 공유하고 로드맵 계획에 대해 논의하세요.우리의 놀라운 기여자들 모두에게 감사드립니다!
BentoML 프레임워크는 커뮤니티가 제품을 개선하는 데 도움이 되는 익명의 사용 데이터를 수집합니다. BentoML의 내부 API 호출만 보고됩니다. 이는 사용자 코드, 모델 데이터, 모델 이름 또는 스택 추적과 같은 민감한 정보를 제외합니다. 사용 추적에 사용되는 코드는 다음과 같습니다. --do-not-track
CLI 옵션을 사용하여 사용 추적을 거부할 수 있습니다.
bentoml [command] --do-not-track
또는 환경 변수를 설정하여:
export BENTOML_DO_NOT_TRACK=True
아파치 라이센스 2.0