PromptEnhancer
通过思维链重写将模糊提示词转化为结构化表达,提升文生图/图生图质量
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
通过思维链重写将模糊提示词转化为结构化表达,提升文生图/图生图质量
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用过 Midjourney、Stable Diffusion 或腾讯混元的人,大概率有过这样的体验:明明脑子里有一个清晰的画面,但 AI 输出的图总是差点意思——主体错了、风格不对、细节丢失。这往往不是模型的问题,而是提示词本身不够清晰、结构化。
一个典型的反面例子:a girl——三个单词,模型可以生成一万种不同的女孩。相比之下,Portrait photo of a young woman with auburn hair, natural lighting, shallow depth of field, 85mm lens, neutral background, high detail 就能让模型准确命中创作者的心智。
PromptEnhancer 正是为了解决这个问题而诞生的。它是腾讯混元(Hunyuan)团队在 CVPR 2026 发表的论文开源实现,专注于通过 Chain-of-Thought(思维链)重写,将模糊随意的提示词转化为清晰、层次分明的结构化提示词,从而大幅提升文生图和图生图的质量。

图1:PromptEnhancer 效果演示——原始模糊提示词经重写后,图像生成质量显著提升。
PromptEnhancer 的研究团队来自腾讯混元,由 Linqing Wang 担任项目负责人,Chunyu Wang 和 Qinglin Lu 担任通讯作者。项目论文《PromptEnhancer: A Simple Approach to Enhance Text-to-Image Models via Chain-of-Thought Prompt Rewriting》已在 arXiv(编号 2509.04545)发表,并被 CVPR 2026 接收。
研究团队的核心洞察是:现有文生图模型的性能瓶颈,往往不在模型架构本身,而在输入提示词的质量。他们提出了一种基于思维链的提示词重写框架,让模型先理解原始提示词的结构和意图,再按照一套规范化的输出模板进行重组,从而确保生成结果的稳定性和准确性。
项目由腾讯 Hunyuan 团队内部研究驱动,初期目标是为混元图像生成模型提供提示词优化能力,后逐步扩展为独立工具,支持多种模型后端和量化方案。
PromptEnhancer 提供了三套独立的推理实现,覆盖从学术研究到生产部署的多种场景。
这是项目的主推模式,基于腾讯混元的 Transformer 因果语言模型(7B/32B 参数规模)。用户输入任意语言的原始提示词(中文或英文均可),模型按照预设的思维链系统提示词进行重写,输出包含以下结构要素的规范化提示词:
重写算法通过 apply_chat_template 构建 ChatML 格式的对话输入,支持 temperature 和 top_p 采样参数,temperature=0 时为确定性生成。
基于 Qwen2.5-VL 视觉语言模型,支持同时输入图像和编辑指令。典型应用场景是:当用户有一张图片,想用自然语言描述一个修改需求(如去掉右下角的水印),模型结合图像视觉信息和文字指令,生成精确的编辑提示词。推理代码使用了 flash_attention_2 加速和 qwen_vl_utils 视觉信息处理。
基于 llama.cpp 生态,支持 GGUF 格式的量化模型。这是社区贡献者 @mradermacher 添加的功能,可在消费级 GPU 上运行 32B 大模型:
| 量化等级 | 文件大小 | 推荐显存 | 推荐显卡 |
|---|---|---|---|
| Q8_0 | ~35GB | 35GB+ | H100/A100 |
| Q6_K | ~27GB | 27GB+ | RTX 4090/RTX 5090 |
| Q4_K_M | ~20GB | 20GB+ | RTX 3090/RTX 4080 |
GGUF 模式的优势在于内存占用减少 50-75%,同时基本保留输出质量,非常适合没有高端计算资源的个人开发者使用。
项目采用清晰的模块划分:
PromptEnhancer/
├── inference/
│ ├── prompt_enhancer.py # 主推理:Transformers 因果 LM
│ ├── prompt_enhancer_gguf.py # GGUF 量化推理
│ ├── prompt_enhancer_img2img.py # VLM 图生图推理
│ ├── prompt_enhancer_v2.py # Gradio Web UI 后端(Qwen2.5-VL)
│ └── app.py # Gradio 界面入口
├── models/ # 模型权重目录(需手动下载)
├── script/
│ └── install_gguf.sh # GGUF 模型下载脚本
├── assets/
│ └── teaser-1.png # 效果展示图
└── requirements.txt # Python 依赖
核心依赖:
prompt_enhancer.py 的核心逻辑极为精简,核心类 HunyuanPromptEnhancer 继承 PyTorch 的 torch.inference_mode() 上下文管理器,通过 AutoModelForCausalLM 和 AutoTokenizer 加载预训练模型。系统默认提示词是一段中文指令,要求重写后的提示词:遵循总-分-总结构、客观中立、由主到次、逻辑清晰、结尾点题。这本质上是用 LLM 本身作为提示词优化器,通过系统提示词约束输出格式。
项目同步开源了 T2I-Keypoints-Eval 评估数据集(HuggingFace),用于量化评估提示词重写质量。评估脚本 t2i_keypoints_eval.py 提供了自动化评测接口,支持关键点覆盖率、意图保留度等多个维度的打分。
本地部署需要三步:
pip install -r requirements.txthuggingface-cli 下载(7B 模型约 13GB)主要门槛在于显存要求:7B 模型至少需要 8GB VRAM(fp16),32B 模型则需要 32GB 以上。消费级 RTX 3090/4090 用户建议使用 GGUF Q4_K_M 量化版本。
项目不提供 Dockerfile 或 docker-compose,也没有打包为 pip 安装包,无法实现一键部署。对于生产环境,建议用户基于项目代码自行构建镜像。
不想折腾本地部署的用户,可以通过以下途径在线体验:
https://huggingface.co/spaces/PromptEnhancer/PromptEnhancer_32B,提供完整的 Gradio Web UI,支持直接输入提示词并查看重写结果
图2:PromptEnhancer 由腾讯混元团队开发和维护。
项目根目录的 LICENSE 文件包含 NOASSERTION 声明,实际适用的是 Tencent Hunyuan Community License Agreement(腾讯混元社区许可证),并非标准的开源许可证(如 Apache 2.0 或 MIT)。该许可证的具体条款需要用户自行确认是否满足商业使用条件。
虽然项目支持中文输入,但系统默认提示词(专家指令)是中文写的,对英文输入的处理可能略有差异。从 README 来看,大多数测试示例和文档以英文为主,中文场景下的重写质量可能未经充分验证。
PromptEnhancer 本质上是一个提示词翻译器——它接受模糊的自然语言,输出结构化的提示词,但它本身并不生成图像。用户需要配合文生图模型(如混元、DALL-E、Stable Diffusion)才能看到最终效果。
GGUF 推理模式的上下文窗口默认为 8192,推荐 1024(针对短提示词场景)。如果用户输入的原始提示词过长或系统提示词过长,可能需要手动调整 n_ctx 参数。
PromptEnhancer 的发布代表了 AI 生图领域的一个趋势转变:从优化模型本身,转向优化输入端。在过去几年里,社区花了大量精力训练更大、更好的 diffusion 模型和 Transformer 模型,但 prompt engineering 作为一个独立的研究方向,直到近两年才得到足够的重视。
腾讯混元团队选择在 CVPR 2026 发表这项工作,本身也说明学术界开始认可提示词优化作为一个有价值的 AI 子领域。T2I-Keypoints-Eval 数据集的开源,也为后续研究提供了一个可量化的评测基准。
从开源生态角度看,GGUF 量化支持的加入(由社区贡献者 @mradermacher 实现)是一个很好的示范:企业发布基础模型加社区贡献推理优化,这种分工模式正在成为大模型开源的主流路径。
相关链接: