BentoDiffusion
1.0.0
该存储库包含一系列Bentoml示例项目,演示了如何在稳定扩散(SD)家族中部署不同模型,该模型专门根据文本提示来生成和操纵图像或视频剪辑。
有关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
} 'Python客户端
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 Turbo。
服务准备好后,您可以将应用程序部署到Bentocloud,以更好地管理和可扩展性。如果您没有Bentocloud帐户,请注册。
确保已登录到Bentocloud,然后运行以下命令将其部署。
bentoml deploy .应用程序启动并在Bentocloud上运行后,您可以通过暴露的URL访问它。
注意:对于您自己的基础架构中的自定义部署,请使用Bentoml生成符合OCI的图像。
要部署不同的扩散模型,请转到此存储库的相应子目录。