ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ComfyUI) 프롬프트를 자동을 생성하자 with LLM
    Stable Diffusion 2024. 10. 6. 08:07
    반응형

    LLM을 이용한 프롬프트 자동 생성

    LLM(Large Language Model)은 대형 언어 모델을 의미하며, 챗GPT와 같은 생성형 AI가 이에 해당합니다. 최근에는 이러한 생성형 AI 모델을 개인 컴퓨터에서 사용할 수 있는 다양한 버전이 개발되었습니다. 이 모델들을 활용하여 이미지 생성을 위한 프롬프트를 자동으로 생성할 수 있습니다. 여러 가지 방법이 있지만, 가장 간단한 방법 중 하나는 Searge LLM Node를 이용하는 것입니다. 이를 통해 프롬프트를 쉽게 자동화하고 생성형 AI의 기능을 보다 효율적으로 활용할 수 있습니다. 

    Searge LLM 노드

    Searge LLM Node는 AI가 생성한 프롬프트를 이미지 생성에 더욱 적합하게 수정해 주는 도구입니다. 이를 통해 생성된 텍스트가 이미지 생성 모델과 잘 맞아떨어지도록 보정할 수 있습니다. Searge LLM Node는 간단하면서도 강력한 기능을 제공하며, 이를 사용하면 AI가 만들어낸 프롬프트가 더 효과적으로 이미지 생성에 활용될 수 있습니다. 

    자세한 내용은 Searge LLM Node GitHub(https://github.com/SeargeDP/ComfyUI_Searge_LLM) 페이지에서 확인할 수 있습니다. 

    Install

    Searge LLM 노드를 설치하려면 다음 단계를 따르시면 됩니다. 

    1. Custom Nodes Manager에서 Searge를 검색합니다. 
    2. 검색 결과에서 Searge-LLM for ComfyUI v1.0을 설치합니다. 
    3. 설치가 완료되면 ComfyUI를 재시작합니다. 

    이 과정을 마치면 Searge LLM Node를 사용할 준비가 완료됩니다. 

    Custom Nodes Manager를 이용한 Searge LLM 노드의 설치

    LLM model

    LLM 모델을 설치하는 방법은 다음과 같습니다. 

    1. 1. LLM 모델 다운로드 : 아래 링크에서 Quantized LLaVA 1.6 Mistral 7B 모델을 다운로드할 수 있습니다. 마음에 드는 모델을 선택해서 다운로드하세요. 또한, 다른 모델이 있다면 사용할 수 있지만, GGUF 형식의 파일만 지원되므로 이 점을 유의해야 합니다. 
      Quantized LLaVA 1.6 Mistral 7B 모델 다운로드 링크 : https://huggingface.co/cjpais/llava-1.6-mistral-7b-gguf
    2. 2. 모델 파일 이동 : 모델을 다운로드한 후, ComfyUI/models/llm_gguf 폴더로 해당 모델 파일을 이동합니다. 만약 llm_gguf 폴더가 없다면 직접 폴더를 생성해야 합니다. 기본적으로 노드 설치 시 해당 폴더가 자동으로 생성되지 않기 때문에 수동으로 만들어야 합니다. 

    Searge LLM Node

    Searge LLM 노드

    Searge LLM Node를 사용하는 방법은 매우 간단합니다. 먼저 Text 입력란에 프롬프트를 생성할 키워드를 입력한 후, 사용할 모델을 선택하면 됩니다. 나머지 설정은 기본값으로 두어도 충분히 효과적으로 프롬프트를 생성할 수 있습니다. 

    Searge Output Node

    Searge Output Node

    이 노드는 Searge LLM Node에서 생성된 프롬프트를 텍스트로 표시하는 역할을 합니다. 주로 생성된 프롬프트를 확인하는 데 사용됩니다. 하지만 만약 생성된 프롬프트를 바로 이미지 생성에 활용하는 워크플로우를 구성하는 경우에는 이 노드를 사용하지 않아도 됩니다. 

    Searge Advanced Options Node

    Searge Advanced Options Node

    이 노드는 Searge LLM Node의 세부 설정을 조정할 수 있는 기능을 제공합니다. 만약 이 노드를 사용하지 않으면 기본값으로 설정된 옵션들을 사용하여 프롬프트를 생성하게 됩니다. 이 노드에서는 temperature, top_p, top_k, repetition_penalty의 4가지 주요 설정을 제공하지만, 설정 변경 시에는 temperature와 top_p 중 하나만 변경하는 것이 좋습니다. 

    각 설정에 대한 설명은 다음과 같습니다. 

    • temperature : 값이 높을수록 더 창의적인 프롬프트가 생성됩니다. 기본값은 1이며, 값을 높이면 더 다양하고 예상치 못한 결과를 얻을 수 있습니다. 
    • top_p : 누적 확률 분포 컷오프를 제어하는 설정입니다. 기본값은 0.9이며, 값을 높이면 보다 다양한 프롬프트가 생성됩니다. 
    • top_k : 텍스트 선택의 범위를 설정하는 옵션입니다. 0 값은 제한이 없음을 의미하며, 기본값은 50입니다. 값이 낮을수록 선택 범위가 좁아집니다. 
    • repetition_penalty : 같은 프롬프트가 반복되는 것을 제어합니다. 기본값은 1.2이며, 1보다 큰 값을 설정하면 프롬프트의 반복성을 줄이는 데 도움을 줍니다. 

    노드의 연결

    Searge LLM 노드의 연결.

    Searge LLM Node의 연결 방법은 매우 간단합니다. 위 그림과 같은 방식으로 연결한 후, text 입력란에 프롬프트를 생성할 키워드를 입력하고, 모델을 선택한 뒤 Queue Prompt 버튼을 눌러 실행시키면 됩니다. 이렇게 하면 프롬프트가 생성되어 Searge Output Node에 표시됩니다. 

    이미지 생성 워크플로우

    프롬프트 생성과 동시에 이미지를 생성하는 워크플로우
    Searge LLM + Basic workflow.json
    0.01MB

    ComfyUI의 이미지 생성 기본 워크플로우에 Searge LLM Node를 연결하면, 프롬프트 생성과 동시에 이미지를 생성하는 효율적인 워크플로우를 구성할 수 있습니다. 

    이 과정에서 생성된 프롬프트는 Clip Text Encode 노드로 전달되어야 하므로, Clip Text Encode 노드가 프롬프트를 입력받을 수 있도록 위젯을 약간 수정해야 합니다. 수정 방법은 아래의 그림을 참고하시기 바랍니다. 

    Clip Text Encode 노드 위제 수정 방법. 노드의 공백 부분에서 마우스 오른쪽 버튼을 클릭하면 나타나는 메뉴에서 그림과 같이 선택하면, text를 입력받는 포인트가 생성된다

    수정이 완료되면, Searge LLM Node의 generated 포인트와 Clip Text Encode 노드의 text 포인트를 연결하여 생성된 프롬프트를 입력받을 수 있습니다. 

    Searge LLM Node와 Clip Text Encode 노드의 연결

    이미지 생성

    노드 연결 및 설정이 완료되면, Searge LLM Node의 text 입력란에 생성하고자 하는 키워드를 입력한 후, 이미지를 생성하기 위해 Queue Prompt 버튼을 눌러주시면 됩니다. Negative prompt는 입력하지 않아도 괜찮으며, 필요한 내용을 추가하시면 됩니다. 추가로 생성되는 프롬프트는 서술형 프롬프트이므로 Flux 모델을 추천하며, SDXL 모델도 이미지 생성에서 좋은 결과를 보였습니다. 

    다음은 실제로 생성한 이미지입니다. LLM이 생성하는 프롬프트가 항상 원하는 이미지를 생성하지는 않지만, 특정 키워드가 포함된 이미지를 생성하고자 할 때 LLM을 이용한 프롬프트 생성은 매우 유용한 방법입니다. 여러 가지 키워드를 활용하여 다양한 이미지를 생성해 보시기 바랍니다.

    Key word : autumn, falling leaves, mountains, valleys, milky way, realistic
    Key word : city, street, rain, dark atmosphere, angle from above
    Key word : clear sky, small cloud, fall, blue,
    Key word : 좌)Fantasy world, beautiful woman, knight, armor, epic, magnificent, photorealistic, 우)Such as beautiful women, mysterious atmosphere, baroque, portrait, high definition, realistic,
    Key word : steampunk, colorful city, developed city, clean city, composition from the sky

    Additions

    • Searge LLM Node에서 random_seed가 적용되지 않는 것 같습니다. Seed가 랜덤이라면 같은 키워드를 입력했을 때에도 다른 프롬프트가 생성되어야 하는데, 그렇지 않습니다. 랜덤 한 seed를 생성하려면 추가 노드가 필요합니다. 아래 그림처럼 Searge LLM Node의 random_seed를 위젯으로 보낸 뒤, Seed Selector 노드의 seed 포인트와 연결하면 프롬프트 생성 시마다 새로운 seed가 랜덤 하게 생성됩니다. Seed Selector 노드는 Custom Nodes Manager에서 comfyui-art-venture를 설치하면 사용할 수 있습니다. 

    Seed Selector를 이용한 랜덤 seed 생성

    • Searge LLM Node는 특정 프롬프트를 입력하는 기능이 없으므로, 트리거가 필요한 LoRA의 적용이나 score 태그가 필요한 Pony 모델에서는 생성된 프롬프트를 수정해서 사용해야 합니다. 
    • NSFW 프롬프트는 생성하지 않습니다. 

     

    반응형

    댓글

Designed by Vitual Stylist