ComfyUI-BAGEL 插件保姆级教程
1. 插件简介
插件地址: https://github.com/neverbiasu/ComfyUI-BAGEL
ComfyUI-BAGEL 是一个基于 BAGEL-7B-MoT 多模态模型的 ComfyUI 自定义节点包。这个插件就像是给 ComfyUI 装上了一个超级聪明的大脑,它不仅能看懂图片,还能根据你的描述生成图片、编辑图片,甚至回答关于图片的问题。
BAGEL 是什么?
BAGEL 是一个拥有 70 亿个活跃参数(总共 140 亿参数)的开源多模态基础模型。就像一个既会画画又会看图说话的全能艺术家,它在理解图片和生成图片方面都表现出色,甚至能和一些专业的图片生成工具媲美。
这个插件能给我们带来什么效果?
- 文字生图:你说"画一个穿着绿色裙子的精灵",它就能画出来
- 图片编辑:给它一张照片,告诉它"把头发改成蓝色",它就能帮你改
- 图片理解:给它看一张图,问它"这里面有什么",它能详细告诉你
- 思考过程展示:还能显示它是怎么思考的,就像看到 AI 的大脑在工作
2. 如何安装
方法一:通过 ComfyUI Manager 安装(推荐)
- 打开 ComfyUI
- 点击右下角的 "Manager" 按钮
- 选择 "Install Custom Nodes"
- 搜索 "BAGEL"
- 找到 "ComfyUI-BAGEL" 并点击安装
- 重启 ComfyUI
方法二:手动安装
- 打开终端或命令提示符
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行命令:
git clone https://github.com/neverbiasu/ComfyUI-BAGEL.git - 进入插件目录:
cd ComfyUI-BAGEL - 安装依赖:
pip install -r requirements.txt - 重启 ComfyUI
安装额外依赖(重要)
根据你想使用的功能,可能需要安装额外的包:
如果想用省显存的压缩模式:
pip install bitsandbytes
如果想用 DFloat11 预压缩模型:
pip install dfloat11
3. 节点详细解析
3.1 BAGEL Model Loader(模型加载器)
这个节点就像是一个智能管家,负责把 BAGEL 模型请到你的电脑里来工作。它会自动下载模型、选择最适合你显卡的运行模式。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Model Repository | model_repo_id | ByteDance-Seed/BAGEL-7B-MoT DFloat11/BAGEL-7B-MoT-DF11 | ByteDance-Seed/BAGEL-7B-MoT | 选择要用哪个版本的模型,就像选择用哪个版本的软件 | 选择模型仓库,标准版支持多种压缩模式,DFloat11版是预压缩版本 | 如果显卡内存少于24GB,建议选DFloat11版本 |
| Quantization Mode | quantization_mode | BF16 NF4 INT8 FP8 | NF4 | 选择模型的"压缩程度",就像选择图片的压缩质量 | 量化模式,影响模型精度和显存占用:BF16=无压缩,NF4=4位压缩,INT8=8位压缩 | 24GB显卡用NF4,12GB显卡也用NF4,8GB显卡勉强能用NF4 |
3.2 BAGEL Text to Image(文字生图)
这个节点就像是一个会画画的机器人,你用文字描述想要的图片,它就能画出来。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Model | model | BAGEL_MODEL | - | 连接模型加载器,就像插电源线 | 接收来自模型加载器的模型数据 | 从模型加载器节点连一根线过来 |
| Prompt | prompt | STRING | 自定义 | 告诉AI你想要什么样的图片,就像给画家下订单 | 文本提示词,描述要生成的图像内容 | "一个穿着绿色裙子的精灵在森林里跳舞" |
| Seed | seed | 0-1000000 | 0 | 随机种子,就像掷骰子的结果,相同种子会得到相同图片 | 控制随机性的种子值,0表示完全随机 | 想要固定结果用42,想要随机结果用0 |
| Image Ratio | image_ratio | 1:1, 4:3, 3:4, 16:9, 9:16 | 1:1 | 图片的长宽比例,就像选择拍照是横屏还是竖屏 | 生成图像的宽高比例 | 画人物用3:4,画风景用16:9,画头像用1:1 |
| CFG Text Scale | cfg_text_scale | 1.0-8.0 | 4.0 | 控制AI多听话,数值越高越严格按照你的描述画 | 分类器自由引导的文本缩放系数,控制对提示词的遵循程度 | 想要更精确按描述画就调到6-7,想要更有创意就调到2-3 |
| Num Timesteps | num_timesteps | 10-100 | 50 | 画画的精细程度,就像素描的步骤数,越多越精细但越慢 | 去噪步数,影响生成质量和速度 | 快速预览用20,高质量出图用50-80 |
| Show Thinking | show_thinking | True/False | False | 是否显示AI的思考过程,就像看到画家在想什么 | 是否输出模型的推理过程 | 想了解AI怎么理解你的描述就开启 |
| CFG Interval | cfg_interval | 0.0-1.0 | 0.4 | 控制在生成过程中什么时候开始严格按照描述画 | CFG引导的起始区间值 | 一般保持默认值0.4即可 |
| Timestep Shift | timestep_shift | 1.0-5.0 | 3.0 | 调整生成过程的时间安排,就像调整画画的节奏 | 时间步偏移参数,影响生成过程 | 默认3.0即可,想要更快收敛可以调到2.0 |
| CFG Renorm Min | cfg_renorm_min | 0.0-1.0 | 0.0 | 防止AI画得太极端的保护机制 | CFG重归一化的最小值 | 一般保持默认0.0 |
| CFG Renorm Type | cfg_renorm_type | global, local, text_channel | global | 选择保护机制的类型 | CFG重归一化的类型 | 默认global即可 |
| Text Temperature | text_temperature | 0.0-1.0 | 0.3 | 控制AI思考时的创造性,就像调节想象力 | 文本生成的温度参数,控制随机性 | 想要更有创意的思考过程可以调到0.5-0.7 |
3.3 BAGEL Image Edit(图片编辑)
这个节点就像是一个会PS的助手,给它一张图片和修改要求,它就能帮你改图片。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Model | model | BAGEL_MODEL | - | 连接模型加载器,就像插电源线 | 接收来自模型加载器的模型数据 | 从模型加载器节点连一根线过来 |
| Image | image | IMAGE | - | 要编辑的原图片,就像给PS软件导入图片 | 输入的图像数据 | 从图片加载节点或其他图片节点连线 |
| Prompt | prompt | STRING | 自定义 | 告诉AI你想怎么改这张图片 | 编辑指令的文本描述 | "把头发颜色改成蓝色"、"添加一副眼镜" |
| Seed | seed | 0-1000000 | 0 | 随机种子,控制编辑结果的随机性 | 控制随机性的种子值 | 想要可重复的编辑结果就设置固定数字 |
| CFG Text Scale | cfg_text_scale | 1.0-8.0 | 4.0 | 控制AI多严格按照编辑要求执行 | 文本引导的强度 | 想要更精确的编辑就调高到6-7 |
| CFG Image Scale | cfg_img_scale | 1.0-4.0 | 2.0 | 控制保持原图特征的程度,越高越像原图 | 图像引导的强度,控制对原图的保持程度 | 想要大幅改动调到1.5,想要微调保持原样调到3.0 |
| Num Timesteps | num_timesteps | 10-100 | 50 | 编辑的精细程度,越多越精细但越慢 | 去噪步数 | 快速编辑用30,精细编辑用50-70 |
| Show Thinking | show_thinking | True/False | False | 是否显示AI编辑时的思考过程 | 是否输出推理过程 | 想了解AI怎么理解编辑要求就开启 |
| CFG Interval | cfg_interval | 0.0-1.0 | 0.0 | 编辑过程中引导的起始时机 | CFG引导的起始区间 | 图片编辑一般用0.0 |
| Timestep Shift | timestep_shift | 1.0-10.0 | 3.0 | 调整编辑过程的时间安排 | 时间步偏移参数 | 默认3.0即可 |
| CFG Renorm Min | cfg_renorm_min | 0.0-1.0 | 0.0 | 防止编辑过度的保护机制 | CFG重归一化最小值 | 一般保持默认0.0 |
| CFG Renorm Type | cfg_renorm_type | global, local, text_channel | text_channel | 保护机制的类型,图片编辑推荐text_channel | CFG重归一化类型 | 图片编辑用text_channel效果更好 |
| Text Temperature | text_temperature | 0.0-1.0 | 0.3 | 控制思考过程的创造性 | 文本生成温度 | 想要更有创意的编辑思路可以调高 |
3.4 BAGEL Image Understanding(图片理解)
这个节点就像是一个会看图说话的专家,给它一张图片和问题,它就能回答关于图片的各种问题。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| Model | model | BAGEL_MODEL | - | 连接模型加载器,就像插电源线 | 接收来自模型加载器的模型数据 | 从模型加载器节点连一根线过来 |
| Image | image | IMAGE | - | 要分析的图片,就像给专家看照片 | 输入的图像数据 | 从图片加载节点连线 |
| Prompt | prompt | STRING | "What do you see in this image?" | 你想问关于这张图片的问题 | 对图像的询问文本 | "这张图片里有什么?"、"这个人在做什么?" |
| Show Thinking | show_thinking | True/False | False | 是否显示AI分析图片时的思考过程 | 是否输出推理过程 | 想了解AI怎么分析图片就开启 |
| Do Sample | do_sample | True/False | False | 是否让AI的回答更有变化性,而不是每次都一样 | 是否启用采样生成 | 想要更多样化的回答就开启 |
| Text Temperature | text_temperature | 0.0-1.0 | 0.3 | 控制回答的创造性,越高越有想象力 | 文本生成的温度参数 | 想要更有创意的描述调到0.5-0.7 |
| Max New Tokens | max_new_tokens | 64-4096 | 512 | 限制回答的长度,就像限制作文字数 | 生成文本的最大长度 | 简短回答用256,详细分析用1024 |
4. 使用技巧和建议
4.1 显卡内存优化建议
- 24GB以上显卡:可以用标准模型 + BF16模式,效果最好
- 12-24GB显卡:推荐用标准模型 + NF4模式,性价比最高
- 8-12GB显卡:建议用DFloat11模型,专门为小显卡优化
- 8GB以下显卡:可能无法正常运行,建议升级硬件
4.2 提示词编写技巧
- 文字生图:描述要具体,包含风格、颜色、环境等细节
- 图片编辑:指令要明确,比如"把头发改成蓝色"比"改变头发"更好
- 图片理解:问题要具体,比如"这个人在做什么运动"比"这里有什么"更好
4.3 参数调优建议
- 追求质量:增加 num_timesteps 到 70-100
- 追求速度:减少 num_timesteps 到 20-30
- 精确控制:提高 cfg_text_scale 到 6-8
- 创意发挥:降低 cfg_text_scale 到 2-3
4.4 工作流搭建建议
- 基础流程:模型加载器 → 功能节点 → 图片保存
- 批量处理:可以用循环节点配合批量处理多张图片
- 质量对比:可以并联多个参数不同的节点对比效果
5. 常见问题解答
Q1: 模型下载失败怎么办?
A:
- 检查网络连接是否正常
- 尝试使用科学上网工具
- 手动下载模型到
models/bagel/目录
Q2: 显存不够用怎么办?
A:
- 选择DFloat11版本模型
- 使用NF4量化模式
- 关闭其他占用显存的程序
- 降低图片分辨率
Q3: 生成的图片质量不好怎么办?
A:
- 增加 num_timesteps 参数
- 优化提示词描述
- 调整 cfg_text_scale 参数
- 尝试不同的随机种子
Q4: 图片编辑效果不理想怎么办?
A:
- 调整 cfg_img_scale 参数平衡原图保持和编辑程度
- 使用更具体的编辑指令
- 尝试分步骤编辑复杂修改
Q5: 节点报错怎么办?
A:
- 检查是否安装了所有依赖包
- 确认模型文件完整下载
- 查看控制台错误信息
- 重启ComfyUI
6. 进阶使用技巧
6.1 组合使用节点
- 图片理解 + 文字生图:先理解一张图片,然后根据理解结果生成新图片
- 文字生图 + 图片编辑:先生成基础图片,再进行细节编辑
- 批量处理:使用循环节点处理多张图片
6.2 提示词工程
- 风格关键词:photorealistic, anime, oil painting, watercolor
- 质量关键词:high quality, detailed, masterpiece, 8k
- 构图关键词:close-up, wide shot, bird's eye view
- 光线关键词:soft lighting, dramatic lighting, golden hour
6.3 参数组合推荐
- 高质量生图:num_timesteps=80, cfg_text_scale=5.0
- 快速预览:num_timesteps=20, cfg_text_scale=3.0
- 精确编辑:cfg_text_scale=6.0, cfg_img_scale=2.5
- 创意编辑:cfg_text_scale=3.0, cfg_img_scale=1.5
7. 总结
ComfyUI-BAGEL 插件为我们带来了强大的多模态AI能力,让图片生成、编辑和理解变得更加简单。通过合理配置参数和优化提示词,你可以创造出令人惊艳的作品。
记住几个关键点:
- 根据显卡选择合适的模型和量化模式
- 用具体明确的提示词描述需求
- 根据需求调整质量和速度的平衡
- 多尝试不同参数组合找到最佳效果
希望这份教程能帮助你快速上手 ComfyUI-BAGEL 插件,创造出属于你的精彩作品!