이 저장소에는 텍스트 프롬프트를 기반으로 이미지 또는 비디오 클립을 생성하고 조작하는 데 특화된 안정적인 확산 (SD) 패밀리에 다양한 모델을 배포하는 방법을 보여주는 일련의 Bentoml 예제 프로젝트가 포함되어 있습니다.
Bentoml 예제 프로젝트의 전체 목록은 여기를 참조하십시오.
다음 안내서는 SDXL Turbo를 예로 사용합니다.
로컬로 서비스를 테스트하려면 최소 12GB VRAM과 함께 NVIDIA GPU를 사용하는 것이 좋습니다.
git clone https://github.com/bentoml/BentoDiffusion.git
cd BentoDiffusion/sdxl-turbo
# Recommend Python 3.11
pip install -r requirements.txt 우리는 service.py 에서 Bentoml 서비스를 정의했습니다. 프로젝트 디렉토리에서 bentoml serve 실행하여 서비스를 시작하십시오.
$ bentoml serve .
2024 - 01 - 18 T18 : 31 : 49 + 0800 [ INFO ] [ cli ] Starting production HTTP BentoServer from "service:SDXLTurboService" listening on http : // localhost : 3000 ( Press CTRL + C to quit )
Loading pipeline components ...: 100 %서버는 이제 http : // localhost : 3000에서 활성화되었습니다. Swagger UI 또는 다른 방법으로 그것과 상호 작용할 수 있습니다.
컬
curl -X ' POST '
' http://localhost:3000/txt2img '
-H ' accept: image/* '
-H ' Content-Type: application/json '
-d ' {
"prompt": "A cinematic shot of a baby racoon wearing an intricate italian priest robe.",
"num_inference_steps": 1,
"guidance_scale": 0
} '파이썬 클라이언트
import bentoml
with bentoml . SyncHTTPClient ( "http://localhost:3000" ) as client :
result = client . txt2img (
prompt = "A cinematic shot of a baby racoon wearing an intricate italian priest robe." ,
num_inference_steps = 1 ,
guidance_scale = 0.0
)서비스 코드에 대한 자세한 설명은 안정적인 확산 XL 터보를 참조하십시오.
서비스가 준비된 후에는 응용 프로그램을 BentoCloud에 배치하여 더 나은 관리 및 확장 성을 배치 할 수 있습니다. Bentocloud 계정이없는 경우 가입하십시오.
Bentocloud에 로그인 한 다음 다음 명령을 실행하여 배포하십시오.
bentoml deploy .응용 프로그램이 Bentocloud에서 가동되고 실행되면 노출 된 URL을 통해 액세스 할 수 있습니다.
참고 : 자체 인프라에 맞춤 배포하려면 Bentoml을 사용하여 OCI 호환 이미지를 생성하십시오.
다른 확산 모델을 배포하려면이 저장소의 해당 하위 디렉토리로 이동하십시오.