Flux Pseudo Negative Prompt. ComfyUI Custom Node with workflow. No hit to gen times!

详情

模型描述

FluxPseudoNegative:一个将负面提示转换为正面属性的ComfyUI节点

FluxPseudoNegative 是一个专为 ComfyUI 设计的高级自定义节点,可将负面提示转换为正面提示。它旨在优化图像生成模型的提示工程,尤其适用于那些原生不支持负面提示,或使用负面提示会显著增加生成时间的模型。与其强行修改 CFG,我们只需反转你的负面词汇并找到它们的反义词!

目前有一些有前景的技术可以让负面提示在 Flux 中正常工作,这些技术可能会让本方案完全过时……但既然我已经完成了这项工作,我决定至少完成一个最小可行节点并发布它。

功能

  • 多种反义词查找策略:

    • 自定义短语处理

    • WordNet

    • NLTK

    • Hugging Face Transformers

  • 针对多词概念的全面短语处理

  • 用于强度调整的情感分析

  • 利用词嵌入进行概念扩展

  • 可选的 ConceptNet 集成以扩大反义词范围

  • 多级处理复杂度:基础、高级、专家

  • 可选的 LLM 集成,用于未识别词汇或完整提示转换

  • 用户可自定义反义词与系统提示

注意事项

  • 本方案并非追求完美!它只是一个应对 CFG 导致生成时间翻倍问题的不完美解决方案。

  • 目前我不建议使用 ConceptNet 扩展,因为它未按预期工作。

  • 像 "Gross" 这样的词具有多重含义,无法自动推断正确含义(“令人厌恶”是一个意思,而在税务语境中也可能表示“总额”)。这可能导致意外的返回词。

  • 若负面提示中包含如 "Brown Horse" 这样的概念,可能无法良好处理。同样,本方案并非对所有情况都适用。

安装

  1. 通过 ComfyUI Manager 的 Git 选项安装,或克隆此仓库至你的 ComfyUI custom_nodes 目录:
git clone https://github.com/yourusername/ComfyUI-FluxPseudoNegativePrompt.git
  1. 安装所需依赖:
pip install nltk textblob requests
  1. 下载所需的 NLTK 数据:(使用时会自动完成)
import nltk
nltk.download('averaged_perceptron_tagger')
nltk.download('punkt')
nltk.download('wordnet')

使用方法

  1. 在 ComfyUI 界面中,于 "prompt_processing" 类别下找到 "Flux Pseudo Negative" 节点。

  2. 将节点连接到你的工作流:

    • 输入你的负面提示

    • 输入一个待增强的正面提示

    • 调整强度参数(0.0 至 1.0)

    • 选择处理复杂度等级

    • (可选)在文本框中提供自定义反义词,格式为 "词:反义词"(每行一个)

    • (可选)启用 ConceptNet 集成

    • (可选)启用 LLM 集成(完整转换或回退模式)

    • (可选)为 LLM 集成提供自定义系统提示

  3. 节点输出:

    • 一个融合了转换后负面概念的修改后正面提示

    • (若启用 LLM 集成)一个供进一步处理的 LLM 输入字符串

参数

  • negative_prompt:待转换的负面提示

  • positive_prompt:可选的待增强正面提示

  • strength:反义词影响强度(0.0 至 1.0)

  • complexity:处理复杂度等级(基础、高级、专家)

  • custom_antonyms:可选的自定义反义词映射

  • use_conceptnet:启用 ConceptNet 进行概念扩展

  • use_llm_full:启用基于 LLM 的完整提示转换

  • use_llm_fallback:启用基于 LLM 的未识别词回退机制

  • custom_system_prompt:用于 LLM 集成的自定义系统提示

文件结构

  • __init__.py:初始化 ComfyUI 节点

  • FluxPseudoNegative.py:包含主类 FluxPseudoNegativeNode

  • flux_utils.py:包含 PhraseHandler 类和 strength_map

自定义

你可以通过修改 flux_utils.py 文件来自定义短语映射和强度映射。你也可以在文本框中或从文本文件(每行一个)加载自定义反义词词典。你还可以指定自定义 LLM 系统提示,以便在第三方 LLM 节点中集成并转换你的负面提示(本节点已内置 3 个已测试/验证的提示)。

注意

本节点需要大量计算资源,尤其在使用高级 NLP 功能和模型时。性能将根据你的系统能力及输入提示的复杂度而有所不同。

此模型生成的图像

未找到图像。