PrismML-Eng/Bonsai-Image-Demo
Generate images locally
Bonsai Image Demo – 快速概览
是什么 – 一个可立即运行的演示,用于使用 Bonsai‑Image 扩散模型(4 B 参数)生成图像。它打包了在三种常见硬件架构上运行模型所需的一切:
- Apple Silicon (macOS) – 使用
mflux分支配合 MLX 实现快速设备内推理。 - 搭载 NVIDIA GPU 的 Linux – 使用 Dropbox 的
gemlite后端配合HQQ1 位/1.58 位内核。 - 搭载 NVIDIA GPU 的 Windows – 通过
triton‑windows项目使用相同的gemlite/HQQ堆栈,无需 WSL2。
该仓库提供脚本以下载合适的权重、启动基于 Web 的 Prism Image Studio(FastAPI 后端 + Next.js 前端),或运行简单的 CLI 进行一次性图像生成。
主要特性
| 特性 | 详情 |
|---|---|
| 模型变体 | ternary(1.58 位,更高画质)– 默认;binary(1 位,更小且更快)。 |
| 跨平台后端 | macOS → MLX (mflux);Linux/Windows → gemlite + HQQ 内核。 |
| 完整工作室 UI | FastAPI 服务器运行在 :8000,Next.js UI 运行在 :3000(通过 scripts/serve.sh 一起启动)。 |
| CLI 生成 | scripts/generate.sh 用于冷启动一次性运行;scripts/send_request.sh 用于与正在运行的工作室通信(保持权重常驻)。 |
| 自动依赖处理 | setup.sh / setup.ps1 安装固定版本的 Python 环境(通过 uv)和 Node 包,并克隆所需的 vendor/ 仓库。 |
| 供应链安全 | 新于 BONSAI_PACKAGE_MIN_AGE_DAYS(默认 7)的包将被拒绝,以避免未经审核的发布。 |
| 模型下载助手 | scripts/download_model.sh 为您的平台和变体选择正确的权重集。 |
| 样本尺寸 | 预定义的宽高比预设,用于快速(约 0.25 MP)和高质量(约 1 MP)渲染。 |
快速开始(macOS / Linux)
# 1️⃣ 安装环境并下载默认的 ternary 模型
./setup.sh
# 2️⃣ 启动工作室(后端 + UI)
./scripts/serve.sh # 后端在 8000,UI 在 3000
# 3️⃣ 通过 UI **或** 终端生成图像
./scripts/send_request.sh -p "A snowy bonsai tree in a misty forest" --size 1248x832
Windows(PowerShell)
# 一次性策略更改以允许脚本运行
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
# 安装并下载
.
setup.ps1
# 运行工作室
.
scripts
un.ps1 # 实际为 ./scripts/serve.ps1
# 生成图像
.
scripts
un_request.ps1 -p "A snowy bonsai tree in a misty forest" --size 1248x832
(请参阅 scripts/windows.md 了解驱动、vcredist 和 OOM 故障排除。)
模型与后端选择
| 平台 | 默认后端 | 默认模型变体 |
|---|---|---|
| macOS (Apple Silicon) | mflux + MLX |
bonsai-image-4B-ternary-mlx |
| Linux (NVIDIA) | gemlite + HQQ |
bonsai-image-4B-ternary-gemlite |
| Windows (NVIDIA) | gemlite + HQQ 通过 triton-windows |
与 Linux 相同 |
可通过环境变量覆盖,例如:
BONSAI_VARIANT=binary ./setup.sh
BONSAI_VARIANT=binary ./scripts/serve.sh
设置后的文件夹结构
Bonsai-image-demo/
.venv/ # 隔离的 Python 环境
vendor/
image-studio/ # FastAPI + Next.js 代码(自动克隆)
mflux-prism/ # 适用于 macOS 的修补版 mflux
models/
bonsai-image-4B-ternary-mlx/
bonsai-image-4B-ternary-gemlite/
bonsai-image-4B-binary-mlx/ (可选)
bonsai-image-4B-binary-gemlite/ (可选)
outputs/ # 生成的 PNG 文件
scripts/
download_model.*
serve.*
generate.*
send_request.*
generate.py
更多信息
- 网站 – https://prismml.com
- Hugging Face 集合 – https://huggingface.co/collections/prism-ml/bonsai-image
- 白皮书 –
bonsai-image-4b-whitepaper.pdf(包含在仓库中) - 实时演示 – README 中的 Hugging Face Space 链接
- 社区 – Discord 服务器(README 中的链接)
TL;DR
Bonsai Image Demo 是一个完全脚本化的跨平台沙盒,用于 4 B 参数的 Bonsai 扩散模型。它处理模型下载、环境设置,并提供 Web UI 和 CLI,让您在 Apple Silicon 或 NVIDIA GPU 上轻松生成逼真的图像。
相关
- 项目
- 项目
- 项目
- 项目