gallery
BentoML 官方示例合集,26个生产级模型部署模板,覆盖vLLM/SGLang/TGI等主流推理引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
BentoML 官方示例合集,26个生产级模型部署模板,覆盖vLLM/SGLang/TGI等主流推理引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:BentoML 官方 Logo
想象一下:你在本地跑通了一个 Stable Diffusion 推理服务,想要分享给同事——但同事没有 GPU,甚至用的是 Windows 系统。传统做法是从头配环境、装依赖、调试路径,折腾半天。BentoML 的出现,就是为了把这个过程压缩成"一行命令"。
机器学习模型的部署一直是业界公认的难题。训练阶段有成熟的工具链(MLflow、Ray、PyTorch Lightning),但模型一旦训练完毕,如何把它变成一个稳定、可扩展、对外提供服务的 API 接口,往往需要 DevOps 团队介入——写 Dockerfile、写 API 包装、处理 GPU 调度。而 BentoML 正是 Bentoml 团队为解决这一"最后一公里"问题而打造的框架,gallery 仓库则是其官方示例合集。
BentoML 的核心理念是把模型服务封装为"Bento"——这个词来源于日语的便当,寓意一个自包含、可复制的部署单元。gallery 仓库收录了 BentoML 官方的 26 个示例项目,涵盖了从图像分类到大模型推理的主流场景,是学习和参考的最佳素材。
gallery 仓库本身是一个 git submodule 聚合体,其下包含的每个 BentoXXX 子模块本质上都是独立的 GitHub 仓库。以最典型的 BentoVLLM 为例,它展示了如何用 BentoML + vLLM 引擎部署大语言模型,支持 DeepSeek-V3、Qwen3、LLaMA3.3、Phi-4 等数十种主流开源模型。
核心代码是每个子目录下的 service.py。以 BentoVLLM 为例,它通过 bentoml.Service 装饰器定义推理服务,利用 @bentoml.api 装饰器将 Python 函数暴露为 HTTP 端点,支持同步和流式(streaming)两种响应模式。服务中集成了 vLLM 的 LLMEngine,自动处理 GPU 内存管理、KV Cache 优化和 Tensor Parallelism(张量并行)。
BentoML 的另一个核心抽象是 BentoArgs——一个 Pydantic 配置类,集中管理模型参数(GPU数量、Tensor Parallelism 等级、最大序列长度、KV Cache 数据类型等)。这种声明式的配置方式让不同模型的部署变得高度可复用,只需调整参数即可切换底层模型。
所有 BentoVLLM 示例都原生支持 OpenAI API 协议。通过简单的 base_url 配置,现有的 OpenAI SDK 代码无需修改即可切换到本地 BentoML 端点。更进一步,还可以利用 vLLM 的 guided_json 参数直接约束输出格式,这对需要结构化输出的应用(如 RAG 答案生成)非常有价值。
如果不想自建基础设施,可以将 BentoML 服务直接部署到 BentoCloud(官方托管平台)。流程极简:登录账号 → 创建 Secret 存储 HuggingFace Token → bentoml deploy . --secret huggingface。BentoCloud 会自动构建容器镜像、处理 GPU 调度,并提供 OpenAI 兼容的 HTTPS 端点。
BentoML 的代码架构分为三层:
service.py,定义业务逻辑和 API 接口bentofile.yaml 声明依赖和构建步骤,bentoml build 生成可分发 Bento这种分层设计让"写代码"和"做部署"完全解耦。开发者可以先专注实现推理逻辑,部署时再通过配置文件指定运行时资源,无需修改业务代码。
从 requirements.txt 可以看到核心依赖:
bentoml >= 1.4:框架核心vllm:高效推理引擎(PagedAttention、CUDA 算子融合)fastapi:底层 HTTP 框架huggingface-hub:模型权重下载kantoku:内部 KV Cache 优化整个技术栈以 Python 为中心,门槛低、上手快,同时底层调用 CUDA 算子实现高性能推理。
从 BentoSGLang 子模块的 README 可以看到,标准使用流程只需三步:
git clone https://github.com/bentoml/BentoSGLang.git
cd BentoSGLang/llama3.1-8b-instruct
pip install -r requirements.txt
bentoml serve
启动后服务监听 http://localhost:3000,通过 Swagger UI 可交互测试,也可以用 Python OpenAI SDK 或 curl 调用。这种"克隆即用"的体验对快速验证想法非常有帮助。
BentoML 官方还提供了 OpenLLM 项目,适合不需要写代码、直接通过命令行部署模型的极简场景,与 gallery 形成了互补——gallery 面向需要深度定制的开发者,OpenLLM 面向只想快速托管模型的运营人员。
BentoML 能极大简化 API 层,但模型的 GPU 资源需求不会因此消失。8B 参数模型至少需要 16GB 显存(最好 40GB+ 以获得流畅体验),,而 70B 以上的模型则需要多卡并行。以 DeepSeek-R1-671B 为例,需要 8×H100 才能高效运行。BentoML 虽然支持 Tensor Parallelism,但配置和调优仍需要一定经验。
此外,BentoML 官方推荐使用 BentoCloud 获得最佳体验,但 BentoCloud 是商业化托管服务,对于数据隐私要求极高的企业场景,可能需要额外的合规评估。
BentoML 正在做的事情,与当年 Docker 将应用分发标准化类似——它试图给机器学习模型建立一个统一的"容器"标准。gallery 仓库的 26 个示例覆盖了 vLLM、SGLang、TGI 等主流推理引擎,以及 Bark(语音合成)、WhisperX(语音识别)、CLIP(图文匹配)等多模态场景,形成了从文本到语音到图像的完整覆盖。
在开源社区,BentoML 目前已有 8,700+ GitHub Stars,是 ML 部署领域最活跃的项目之一。随着大模型逐步进入生产环境,类似 BentoML 这样降低部署门槛的工具,价值会愈发凸显。