TextGen 图像生成的 LLM Prompt Variations:加载本地 LLM 自动改写绘图提示词
【免费下载链接】textgenOpen-source desktop app for local LLMs. Text, vision, tool-calling, OpenAI/Anthropic-compatible API. 100% private.项目地址: https://gitcode.com/GitHub_Trending/te/textgen
在 TextGen 的 Image AI 页面生成图片时,如果你希望每张图都用同一个原始提示词,结果往往会高度重复。LLM Prompt Variations 功能可以让一个已加载的本地 LLM 在每次生成前自动改写绘图提示词,为画面补充细节、提升变化。本文说明如何完成这个流程:先装好支持图像生成的完整版 Web UI,加载图像模型和一个负责改写提示词的本地 LLM,再打开该功能并验证改写是否生效。
前提:该功能只在 "full" 版本的 Web UI 中可用,Releases 页面中.zip格式的 portable 构建不支持图像生成。
准备:安装并加载图像模型
克隆仓库或下载代码后,使用一键安装脚本:
- Windows:双击
start_windows.bat - Linux:运行
./start_linux.sh - macOS:运行
./start_macos.sh
- Windows:双击
安装完成后,浏览器访问
http://127.0.0.1:7860/。点击左侧 "Image AI",再点顶部的 "Model" 页签,在 "Download model" 字段中粘贴
https://huggingface.co/Tongyi-MAI/Z-Image-Turbo,点击 "Download"。该模型体积为 31 GB,需等待下载完成。在 "Quantization" 菜单中选择量化方式后点击 "Load"。Image Generation Tutorial 给出了
Z-Image-Turbo各选项的显存占用(文档数据,供选型参考):
| Quantization Method | VRAM Usage |
|---|---|
| None (FP16/BF16) | 25613 MiB |
| bnb-8bit | 16301 MiB |
| bnb-8bit + CPU Offload | 16235 MiB |
| bnb-4bit | 11533 MiB |
| bnb-4bit + CPU Offload | 7677 MiB |
torchao选项支持torch.compile以加快图像生成,其中float8wo为 RTX 40 系列及更新 GPU 提供原生硬件加速。之后每次启动 Web UI 时,模型会按上次设置自动加载,无需重复点击 "Load"。
加载负责改写提示词的 LLM
LLM Prompt Variations 要求在主界面左侧的 "Model" 页面中加载一个 LLM。文档建议的新手起步方式是使用Qwen3-4B-Q3_K_M.gguf:
- 从 Hugging Face 的
unsloth/Qwen3-4B-GGUF仓库下载Qwen3-4B-Q3_K_M.gguf,放入textgen/user_data/models文件夹。 - 回到 Web UI 左侧的 "Model" 页面,在下拉菜单中选择该模型。
- 点击 Load。
这个 LLM 只承担改写提示词的任务,与 Image AI 页面加载的扩散模型是两个独立的模型,需要同时处于加载状态。
启用 LLM Prompt Variations 并生成图像
切回 "Image AI" 页面,进入 "Generate" 页签。
勾选 "LLM Prompt Variations" 复选框。勾选后会出现一个 "Variation Prompt" 文本框,用于填写改写指令;留空时使用系统默认指令,完整内容见 modules/shared.py:
Write a variation of the image generation prompt above. Consider the intent of the user with that prompt and write something that will likely please them, with added details. Output only the new prompt. Do not add any explanations, prefixes, or additional text.
如需让改写偏向你自己的风格(例如固定补充构图、光线描述),可以在此文本框中填写自己的指令。
在 "Prompt" 中输入原始提示词,点击 "Generate"。之后每次生成图像时,提示词都会先由 LLM 改写再送入图像模型。
如果想让一批图每张都用不同的改写提示词,把 "Sequential Count (Loop)" 滑块设为大于 1 的值:文档说明此时每个 sequential batch 都会生成一条新的改写提示词。
针对Z-Image-Turbo的模型特定设置:保持 CFG Scale 为 0、Steps 为 9,不要填写 Negative Prompt(在该 CFG Scale 下会被忽略)。
验证改写是否生效
- 生成日志中,每次改写成功都会打印
Prompt variation:以及改写后的完整提示词(见 modules/ui_image_generation.py 的generate_prompt_variation),可以据此核对 LLM 实际使用了哪条提示词。 - 保存的图片会记录实际使用的提示词与 seed:生成时
state['image_prompt']会被替换为改写后的提示词再写入元数据(modules/ui_image_generation.py)。在 "Gallery" 页签点击已保存的图片可查看其 "Generation Settings"。 - 如果 LLM 未加载就启用了该功能,功能不会报错,而是回退使用原始提示词,日志中会出现警告
No LLM loaded for prompt variation. Using original prompt.。看到这条警告时回到 "Model" 页面加载 LLM 即可。 - 文档中对比示例使用的原始提示词是
Photo of a beautiful woman at night under moonlight(示例结果,仅示意改写前后的差异幅度,不代表固定预期)。
限制说明
- 该功能只能在 Web UI 中触发。API 路径
/v1/images/generations的请求在 modules/api/images.py 中固定将image_llm_variations置为False,即通过 API 生成图像时不会应用 LLM 改写。 - 改写提示词本身也是一次 LLM 文本生成,会占用已加载 LLM 的显存;两个模型同时加载时的总显存需求需自行预留。
- portable(
.zip)构建没有图像生成功能,整个流程都必须基于 full 版 Web UI。
【免费下载链接】textgenOpen-source desktop app for local LLMs. Text, vision, tool-calling, OpenAI/Anthropic-compatible API. 100% private.项目地址: https://gitcode.com/GitHub_Trending/te/textgen
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考