BentoDiffusion
BentoML 官方扩散模型部署工具集,支持 SDXL/SD3/FLUX/ControlNet 等
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
BentoML 官方扩散模型部署工具集,支持 SDXL/SD3/FLUX/ControlNet 等
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:BentoDiffusion 部署的 ControlNet 模型生成效果示例
想象一下:你花了三天调参训练了一个定制化 Stable Diffusion 模型,效果拔群,但分享给同事用却成了难题——对方得装 Python 环境、装 CUDA、配模型权重路径,等一切搞定一天半时间已经过去了。BentoDiffusion 正是为解决这个痛点而生:它把扩散模型的部署门槛压缩到一条命令,让「我本地跑通了」变成「任何人随手就能用」。
BentoDiffusion 由 BentoML 官方团队维护,是 BentoML 示例库的核心组成部分。BentoML 是一款专注于 AI 模型服务的开源框架,核心理念是将任意 ML 模型「打包」为标准化部署单元——Bento(便当),开发者只需编写服务逻辑,框架负责处理 GPU 显存管理、并发请求、模型缓存等底层细节。
该仓库收录的模型覆盖了从 2023 年到 2025 年的主流扩散模型演进路线:
图2:所有模型均从 HuggingFace Hub 自动拉取,生态集成完善
每个子目录都是一个独立可部署的 BentoML Service。以 SDXL Lightning 为例,核心代码仅约 80 行:
import bentoml
from PIL.Image import Image
from annotated_types import Le, Ge
from typing_extensions import Annotated
MODEL_ID = "ByteDance/SDXL-Lightning"
@bentoml.service(name="bento-sdxl-lightning",
resources={"gpu": 1, "memory": "16Gi"})
class SDXLLightning:
def __init__(self):
self.pipeline = ... # 懒加载模型
@bentoml.api(route="/txt2img")
def txt2img(self, prompt: str, ...) -> Image:
...
BentoML 的 @bentoml.service 装饰器自动处理:GPU 资源申请、模型懒加载(首次请求时才初始化)、并发请求队列、HTTP 接口生成(Swagger UI 自带)。开发者只需关注推理逻辑本身。
bentofile.yaml 负责打包配置:
service: "service:SDXLLightning"
include: ["*.py"]
python:
requirements_txt: "./requirements.txt"
docker:
python_version: "3.11"
执行 bentoml build && bentoml containerize 后即可生成 Docker 镜像,部署到任意 K8s 集群。
本地部署三步走:
git clone https://github.com/bentoml/BentoDiffusion.git
cd BentoDiffusion/sdxl-turbo
pip install -r requirements.txt
bentoml serve # 监听 http://localhost:3000
服务启动后自动加载模型(首次约 2-3 分钟),之后每次推理在 1-3 秒内完成。HTTP API 文档在 /docs,curl 和 Python SDK 两种调用方式:
curl -X POST http://localhost:3000/txt2img \
-H 'Content-Type: application/json' \
-d '{"prompt": "a cat in space", "num_inference_steps": 1}'
或者 Python 一行调用:
with bentoml.SyncHTTPClient("http://localhost:3000") as client:
result = client.txt2img(prompt="cyberpunk city")
云端部署同样简洁:登录 BentoCloud 后执行 bentoml deploy,框架自动构建镜像、申请 GPU 资源、暴露公网 URL,全流程无需手动写 Dockerfile。
必须条件:
局限性:
docker compose up 直接启动,需要先通过 BentoML 构建镜像BentoDiffusion 体现了 AI 部署领域的两个趋势:
趋势一:ML 框架即服务。BentoML、Triton、Ray Serve 等框架正在把「模型部署」从运维任务变成开发者任务。以前需要 K8s + Docker + CUDA 专家才能搞定的事情,现在 Python 开发者自己就能搞定。
趋势二:开放模型生态的繁荣。2023-2025 年间,Stable Diffusion 3、FLUX、SD3.5 等模型相继开源,HuggingFace Hub 模型数量突破百万。BentoDiffusion 恰好站在这个交叉点——它不是另一个模型,而是一个「让好模型触手可及」的基础设施。
对于 AI 爱好者而言,BentoDiffusion 降低了「用上最新模型」的门槛;对于开发者而言,它是快速构建图像生成产品原型的效率工具。387 颗 GitHub Stars 印证了社区对这类「让 AI 模型易部署」工具的强烈需求。