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"와 같은 단어는 여러 의미를 가질 수 있으며, 올바른 의미를 추론할 수 없습니다. ("역겨운"은 한 가지 의미이며, 세금 관련 맥락에서는 "총계"를 의미하기도 합니다). 이는 예상치 못한 반환 단어를 초래할 수 있습니다.

  • 부정 프롬프트에 "갈색 말"과 같은 개념이 포함된 경우 잘 작동하지 않을 수 있습니다. 다시 말해, 이 도구는 모든 상황에 적용되지 않습니다.

설치

  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('pkt')
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 시스템 프롬프트를 지정하여 부정 프롬프트를 제3자 LLM 노드로 통합하여 변환할 수도 있습니다 (이 노드는 이미 테스트/검증된 3개의 프롬프트를 포함하고 있습니다).

참고

이 노드는 고급 NLP 기능과 모델을 사용할 때 상당한 컴퓨팅 자원을 요구합니다. 성능은 시스템 사양과 입력 프롬프트의 복잡도에 따라 달라질 수 있습니다.

이 모델로 만든 이미지

이미지를 찾을 수 없습니다.