prompt-generator-comfyui 提示词生成器插件 - 保姆级教程
1. 插件简介
插件地址: https://github.com/alpertunga-bile/prompt-generator-comfyui
这个插件就像是一个专门为你写提示词的小助手!你知道平时我们画图的时候,总是要绞尽脑汁想各种描述词汇,比如"美丽的女孩"、"精美的画质"这些,对吧?这个插件就是帮你自动生成这些描述的。
它能给我们带来什么效果:
- 🎯 自动生成提示词:就像有个专业的画师在旁边告诉你该怎么描述你想要的画面
- 🎲 随机生成功能:每次都能给你不同的惊喜,就像摇骰子一样
- 🔄 递归生成:可以基于已有的描述继续扩展,让描述越来越丰富
- 🎛️ 多种调节选项:就像调音响的音量、低音、高音一样,可以精细调节生成效果
- 💾 自动保存记录:会把生成的内容都记录下来,方便你回顾
2. 如何安装
方法一:使用 ComfyUI Manager(推荐新手)
- 打开 ComfyUI Manager(就像手机上的应用商店)
- 搜索 "prompt-generator-comfyui"
- 点击安装,等待完成
- 重启 ComfyUI
方法二:手动安装
- 打开终端(Windows 叫命令提示符)
- 进入 ComfyUI 的
custom_nodes文件夹 - 运行命令:
git clone https://github.com/alpertunga-bile/prompt-generator-comfyui.git - 安装依赖包:
pip install -r requirements.txt - 重启 ComfyUI
重要提醒
安装完成后,你需要下载一个训练好的模型(就像给这个助手装上大脑):
- 从这个链接下载模型
- 解压到
models/prompt_generators文件夹里 - 重启 ComfyUI
3. 节点详细解析
3.1 Prompt Generator 节点 - 提示词生成器
这个节点就像一个智能的写作助手,你给它一个开头,它就能帮你续写出完整的描述。比如你说"美丽的女孩",它可能会帮你扩展成"美丽的女孩,长发飘逸,眼神温柔,穿着优雅的连衣裙"。
3.2 参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| clip | clip | CLIP对象 | 必须连接 | 这是个翻译官,把文字变成电脑能理解的数字 | CLIP编码器,用于将文本转换为向量表示 | 必须从其他节点连接过来,不能手动设置 |
| model_name | model_name | 下拉选择 | 根据下载的模型 | 选择你下载的那个"大脑"模型 | 指定要使用的预训练模型路径 | 选择你放在prompt_generators文件夹里的模型名称 |
| accelerate | accelerate | enable/disable | enable | 开启后生成速度更快,就像给汽车加了涡轮增压 | 启用模型优化加速功能 | 如果你的显卡比较新,建议选enable |
| quantize | quantize | none/int8/int4/float8 | none | 压缩模型大小,就像把大文件压缩成小文件 | 模型量化设置,减少显存占用 | 显存不够时选int8或int4 |
| token_healing | token_healing | enable/disable | disable | 修复生成时的小错误,就像自动纠错功能 | 修复token边界问题的算法 | 一般情况下用disable就行 |
| prompt | prompt | 文本输入 | 自定义 | 你想要的画面描述的开头部分 | 输入提示词,作为生成的起始点 | 比如输入"美丽的女孩," |
| seed | seed | 整数 | 0 | 随机数种子,相同种子产生相同结果 | 控制随机性的种子值 | 想要固定结果时设置特定数字 |
| lock | lock | enable/disable | disable | 锁定生成,不重新生成,只从上次结果中选择 | 锁定生成状态,使用缓存结果 | 满意上次生成的结果时开启 |
| random_index | random_index | enable/disable | enable | 随机选择生成的5个结果中的一个 | 随机选择输出索引 | 想要随机惊喜时选enable |
| index | index | 1-5 | 1 | 手动选择要第几个生成结果(当random_index关闭时) | 指定输出结果的索引 | random_index关闭时,选1-5中的任意数字 |
| cfg | cfg | 浮点数 | 1.0 | 控制生成内容与输入描述的相关程度,数值越高越相关 | CFG引导比例,控制生成质量 | 一般1.0-2.0之间,太高可能过度拟合 |
| min_new_tokens | min_new_tokens | 整数 | 20 | 最少要生成多少个词汇 | 生成文本的最小token数量 | 想要更详细描述时增加这个数值 |
| max_new_tokens | max_new_tokens | 整数 | 50 | 最多生成多少个词汇 | 生成文本的最大token数量 | 不想要太长描述时减少这个数值 |
| do_sample | do_sample | enable/disable | disable | 开启随机采样,让每次生成都不一样 | 是否使用随机采样策略 | 想要多样性时开启,想要稳定结果时关闭 |
| early_stopping | early_stopping | enable/disable | enable | 生成完整句子后提前停止,不会生成半截话 | 束搜索的早停策略 | 一般建议开启,避免生成不完整内容 |
| num_beams | num_beams | 整数 | 5 | 同时考虑多少种可能的生成路径,数值越高质量越好但速度越慢 | 束搜索的束宽度 | 质量要求高时增加,速度要求高时减少 |
| num_beam_groups | num_beam_groups | 整数 | 1 | 把生成路径分成几组,增加多样性 | 束搜索的分组数量 | 想要更多样化结果时增加 |
| diversity_penalty | diversity_penalty | 浮点数 | 0.0 | 惩罚重复内容,数值越高越避免重复 | 多样性惩罚系数 | 发现生成内容重复时适当增加 |
| temperature | temperature | 浮点数 | 1.0 | 控制生成的随机程度,就像调节"创意度" | 采样温度参数 | 想要更有创意选1.2-1.5,想要稳定选0.7-0.9 |
| top_k | top_k | 整数 | 50 | 只从最可能的前K个词中选择 | Top-K采样参数 | 一般保持默认值50 |
| top_p | top_p | 浮点数 | 1.0 | 只从概率累计达到P的词中选择 | Top-P采样参数 | 想要更精确选0.8-0.9 |
| repetition_penalty | repetition_penalty | 浮点数 | 1.0 | 避免重复词汇的惩罚力度 | 重复惩罚系数 | 发现重复词汇时调到1.1-1.3 |
| no_repeat_ngram_size | no_repeat_ngram_size | 整数 | 0 | 避免重复N个连续词汇 | N-gram重复避免大小 | 一般保持0,特殊情况下设置2-3 |
| remove_invalid_values | remove_invalid_values | enable/disable | disable | 移除生成过程中的异常数值 | 移除无效数值以防止崩溃 | 遇到生成错误时开启 |
| self_recursive | self_recursive | enable/disable | disable | 递归模式:用生成的结果作为下次输入 | 自递归生成模式 | 想要更有创意的扩展时开启 |
| recursive_level | recursive_level | 整数 | 0 | 递归生成的次数 | 递归生成的层级数 | 配合self_recursive使用,一般1-3次 |
| preprocess_mode | preprocess_mode | exact_keyword/exact_prompt/none | exact_keyword | 处理生成结果的方式,去除重复内容 | 预处理模式选择 | exact_keyword最实用,能去除重复关键词 |
4. 使用技巧和建议
4.1 新手入门建议
- 先用默认设置:刚开始使用时,大部分参数保持默认值就行
- 从简单提示词开始:比如"美丽的女孩,"、"风景画,"这样的简单开头
- 观察生成日志:插件会在终端显示生成的5个结果,你可以看看哪个最满意
4.2 进阶使用技巧
-
调节创意度:
- 想要稳定结果:temperature=0.8, do_sample=disable
- 想要创意结果:temperature=1.2, do_sample=enable
-
控制长度:
- 简短描述:max_new_tokens=30
- 详细描述:max_new_tokens=80
-
避免重复:
- 开启 preprocess_mode=exact_keyword
- 适当增加 repetition_penalty 到 1.1-1.2
4.3 递归生成玩法
递归生成就像滚雪球一样,让描述越来越丰富:
普通递归(self_recursive=disable):
- 输入:"美丽的女孩,"
- 第1次生成:"美丽的女孩,长发飘逸"
- 第2次生成:"美丽的女孩,长发飘逸,眼神温柔"
自递归(self_recursive=enable):
- 输入:"美丽的女孩,"
- 第1次生成:"长发飘逸"
- 第2次生成:"眼神温柔"
- 最终结果:"美丽的女孩,眼神温柔"
5. 常见问题解答
Q1:为什么找不到模型选项?
A: 你需要先下载模型文件并放到正确位置:
- 下载模型到
models/prompt_generators文件夹 - 确保是文件夹形式,不是单个文件
- 重启 ComfyUI
Q2:生成的内容总是重复怎么办?
A: 尝试以下设置:
- 开启
do_sample - 设置
temperature为 1.1-1.3 - 设置
repetition_penalty为 1.1-1.2 - 使用
preprocess_mode=exact_keyword
Q3:生成速度太慢怎么办?
A: 可以这样优化:
- 开启
accelerate - 使用量化:
quantize=int8 - 减少
num_beams到 3 - 减少
max_new_tokens
Q4:显存不够用怎么办?
A: 尝试量化设置:
- 先试
quantize=int8 - 还不够就用
quantize=int4 - 关闭
accelerate
Q5:生成的内容质量不好?
A: 检查以下设置:
- 确保使用了合适的模型
- 调整
cfg到 1.5-2.0 - 增加
num_beams到 7-10 - 优化输入提示词的质量
6. 实用工作流程建议
6.1 基础工作流程
- 连接节点:CLIP → Prompt Generator → 其他节点
- 设置基础参数:选择模型,输入提示词
- 生成测试:先用默认设置生成几次看效果
- 调优参数:根据结果调整各项参数
- 保存设置:满意后保存工作流程
6.2 批量生成技巧
- 开启
random_index获得随机结果 - 使用不同的
seed值 - 调整
recursive_level获得不同复杂度 - 查看生成日志选择最佳结果
7. 注意事项
- 模型选择很重要:不同模型生成风格差异很大,建议多试几个
- 提示词质量影响结果:输入的开头描述越准确,生成效果越好
- 参数需要平衡:过高的创意度可能导致不相关内容,过低则缺乏变化
- 显存管理:大模型需要足够显存,必要时使用量化
- 生成日志很有用:终端会显示所有生成结果,可以从中选择最佳的
8. 总结
这个插件就像是给 ComfyUI 装了一个专业的文案写手,能够:
- 🎯 自动扩展你的提示词描述
- 🎲 提供多样化的生成选项
- 🔧 精细调节生成效果
- 💾 记录所有生成历史
对于新手来说,先从默认设置开始,逐步尝试不同参数的效果。对于进阶用户,可以深入研究递归生成和各种采样策略的组合使用。
记住,好的提示词是好图片的开始,这个插件就是帮你写出更好提示词的得力助手!