项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3494
使用教程
环境要求
- macOS(Metal)、Linux/Windows(CUDA、Vulkan、ROCm)或纯 CPU 环境
- macOS 需 Xcode Command Line Tools,Linux 需 build-essential(setup 脚本会检查/安装)
- 可访问 HuggingFace(下载模型)与 GitHub Release(下载预编译二进制)
- Windows 需在 PowerShell 中执行 setup.ps1,并允许脚本运行
安装与启动步骤
-
1克隆项目
把 Bonsai-demo 仓库克隆到本地,之后所有脚本都在该目录内执行。
git clone https://github.com/PrismML-Eng/Bonsai-demo.git -
2一键安装(Mac/Linux)
setup.sh 会自动装系统依赖、uv、Python venv,下载模型和二进制,并可构建 MLX 与 Open WebUI。
cd Bonsai-demo ./setup.sh -
3一键安装(Windows)
先放开当前进程的脚本执行策略,再运行 PowerShell 版安装脚本,功能与 setup.sh 相同。
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass .\setup.ps1 -
4运行默认模型
默认使用 Bonsai 27B 的 llama.cpp 后端,-p 后面是要交给模型的提示词。
./scripts/run_llama.sh -p "Hello!" -
5切换模型家族
先按家族和规模下载权重,再运行;示例为 Ternary-Bonsai 4B,Windows 用环境变量写法。
BONSAI_FAMILY=ternary BONSAI_MODEL=4B ./scripts/download_models.sh BONSAI_FAMILY=ternary BONSAI_MODEL=4B ./scripts/run_llama.sh -p "Hello!" -
6可选:Vulkan 源码构建
需要先装好 Vulkan SDK,再克隆 prism 分支的 llama.cpp 并开启 GGML_VULKAN 编译。
git clone -b prism https://github.com/PrismML-Eng/llama.cpp.git cd llama.cpp cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_VULKAN=ON cmake --build build -j$(nproc)
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
BONSAI_MODEL | 否 | 选择要运行的模型规模,默认 27B | 4B |
BONSAI_FAMILY | 否 | 选择模型家族,例如 ternary 对应 Ternary-Bonsai | ternary |
BONSAI_OPENWEBUI | 否 | 设为 0 时跳过 Open WebUI 的安装 | 0 |
BONSAI_CODE_INTERPRETER | 否 | 设为 0 时跳过代码解释器 venv 的构建 | 0 |
BONSAI_SKIP_GGUF | 否 | 设为 1 跳过 GGUF 权重,得到 MLX-only 环境 | 1 |
如何确认成功
运行 run_llama.sh 后能看到模型对输入提示词(如 Hello!)的文本回复,即表示安装与权重均就绪。
常见问题
Q:下载模型需要 HuggingFace token 吗?
A:不需要。README 说明所有模型仓库都是公开的,无需 token 即可下载。
Q:重复运行 setup.sh 会不会出问题?
A:不会。脚本是幂等的,重复运行会跳过已经完成的步骤,可以放心再跑一次。
Q:CUDA 源码编译时卡死或报 OOM 怎么办?
A:CUDA 内核编译很吃显存/内存。build_cuda_linux.sh 与 build_cuda_windows.ps1 会在显存低于 16GB 时自动把并行度限制为 -j 2;仍然 OOM 可进一步降低并行度或关闭其他占显存的程序。
Q:提示需要 GGUF 权重、脚本直接报错?
A:说明当前是 MLX-only 环境(例如设了 BONSAI_SKIP_GGUF=1)。可改用 run_mlx.sh / start_mlx_server.sh,或重新下载 GGUF 权重。
Q:怎么运行更小的模型?
A:通过 BONSAI_MODEL 指定规模,例如 BONSAI_MODEL=4B ./scripts/run_llama.sh -p "..."。
注意事项
- setup.sh 会自动安装 uv(用户级,非全局)、创建 Python venv,并从 pyproject.toml 同步 cmake、ninja、huggingface-cli。
- macOS 上还会克隆并源码构建 MLX,安装 mlx-lm、torch、transformers,首次执行整体耗时较长。
- Windows 安装脚本 setup.ps1 会在 PowerShell 中执行,命令提示符下请改用 PowerShell。
- Vulkan 源码构建前需先安装 Vulkan SDK,例如 sudo apt install libvulkan-dev glslc。
核心亮点
- 提供完整可运行的 Shell 脚本,降低模型上手门槛
- 模块化设计,便于按需扩展和定制
- 依赖简单,无需复杂环境配置即可运行
不足之处
- 仅支持 Shell 环境,跨平台性有限
- 文档/社区待观察
适用场景
- 快速验证 Bonsai 模型的基础功能
- 作为教学示例,帮助新手理解模型调用流程
- 在 CI/CD 中集成模型测试
替代项目
Bonsai 官方示例库、Hugging Face Transformers 示例、ONNX Runtime 示例
上一篇:hello-claw
下一篇:MoBA
同类项目推荐
StableDiffusion-PyTorch
开源
从零手写 Stable Diffusion,彻底搞懂扩散模型原理
This repo implements a Stable Diffusion model in PyTorch with all the essential comp···
UForm
开源
小体积多模态模型,图文视频理解快数倍
Pocket-Sized Multimodal AI for content understanding and generation across multiling···
decider
开源
一次推理出带概率的类型化决策,省去多轮思考
A family of System One-style models fine-tuned from Qwen3.5, designed for one-pass t···
TigerBot
开源
开箱即用的中文大模型,快速构建对话和生成应用
TigerBot: A multi-language multi-task LLM
GraphCLIP
开源
让图模型像CLIP一样能迁移,文本图任务零样本也能用
Official implementation of GraphCLIP: Enhancing Transferability in Graph Foundation ···
AIGC-progress
开源
一张清单,跟上AIGC所有热点模型与应用
Follow the rapid development of AIGC models and applications. | 跟上AIGC模型和应用快···
LightReasoner
开源
用小模型教大模型推理,低成本提升推理能力
[ACL 2026 Oral] "LightReasoner: Can Small Language Models Teach Large Language Model···
Machine-Learning
开源
跟着博客笔记,边看边跑机器学习代码
All content related to machine learning from my blog
Yi
开源
中文大模型新选择,从零训练性能强,拿来即用可微调
A series of large language models trained from scratch by developers @01-ai
