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 上輕鬆生成逼真的影像。
相關
- 專案
- 專案
- 專案
- 專案