damian0815/compel

A prompting enhancement library for transformers-type text embedding systems

해결하는 문제

Compel은 이미지 생성 모델에서 텍스트 프롬프트의 특정 단어나 구문에 대한 영향력을 정밀하게 제어할 수 있는 방법을 제공합니다. 표준 텍스트 인코더는 모든 단어에 동일한 가중치를 부여하기 때문에, 전체 프롬프트를 다시 작성하지 않고도 이미지의 특정 요소를 강조하거나 약화시키는 것은 어렵습니다.

작동 방식

이 라이브러리는 임베딩의 가중치 조절과 블렌딩을 위한 유연한 문법을 구현합니다. ++와 같은 마커를 사용하여 단어의 중요도를 높이면, 텍스트 인코더가 생성하는 임베딩 텐서가 수정됩니다. 다음과 같은 고급 기능을 지원합니다:

  • 가중치 조절: 특정 토큰의 중요도를 증가 또는 감소시킵니다.
  • 블렌딩: .and() 문법을 사용해 다양한 프롬프트 세그먼트를 연결하여 복잡한 프롬프트의 이미지 품질을 향상시킵니다.
  • 스타일 프롬프트: SDXL 및 Flux와 같은 모델에서 스타일과 콘텐츠 프롬프트를 별도로 처리합니다.
  • 긴 프롬프트 처리: 모델의 최대 토큰 길이를 초과하는 프롬프트를 청크화하고 패딩합니다.

대상 사용자

diffusers 기반 시스템(예: Stable Diffusion, SDXL, Flux)을 사용하며, 텍스트 프롬프트가 모델에 의해 어떻게 해석되는지에 대해 세밀한 제어가 필요한 개발자 및 연구자에게 적합합니다.

주요 특징

  • 광범위한 모델 지원: Stable Diffusion v1.5, SDXL, Flux와 호환됩니다.
  • 직관적인 문법: 간단한 문자열 기반의 가중치 시스템을 사용합니다(예: ball++).
  • 고급 임베딩 제어: 음성 프롬프트, 스타일 프롬프트, 텍스트 인버전 매니저를 지원합니다.
  • 유연한 토크나이저: 긴 텍스트를 자르는 여러 모드를 제공하여 자르기(트렁케이션)를 방지합니다.
  • 통합성: Hugging Face의 StableDiffusionPipeline 및 기타 diffusers 파이프라인과 원활하게 통합됩니다.

관련

  • Dispatch
  • Dispatch
  • 프로젝트
  • 프로젝트
  • 프로젝트