사진은 천 단어의 가치가 있습니다



이 문서는 AI 기반 시맨틱 검색 플랫폼인 txtai에 대한 자습서 시리즈의 일부입니다.

txtai은 머신 러닝 워크플로를 실행하여 데이터를 변환하고 AI 기반 시맨틱 검색 애플리케이션을 구축합니다.

2022년 6월 현재 가장 핫한🔥 모델 중 하나는 DALL-E mini 입니다. here , herehere 에서 볼 수 있듯이 이 모델을 활용하는 많은 프로젝트와 예제가 있습니다. 이 모델을 다루는 주류 뉴스 기사도 있습니다.

이 기사에서는 웹 페이지의 요약을 작성한 다음 이 요약의 이미지를 생성하는 워크플로우를 제시합니다. 텍스트-이미지 모델에 대한 많은 잠재적 사용 사례가 있지만 이 예는 워크플로우의 힘을 보여주는 데 초점을 맞추고 DALL-E mini가 세상을 "보는"방법에 대한 흥미로운 통찰력을 제공합니다.

종속성 설치


txtai 및 모든 종속성을 설치합니다.

DALL-E 미니 모델 및 코드에 대한 모든 크레딧은 https://github.com/borisdayma/dalle-minihttps://github.com/kuprel/min-dalle으로 이동합니다.

pip install txtai tika min-dalle ipyplot


DALL-E 파이프라인 구축



먼저 DALL-E mini를 사용하여 이미지를 생성하는 txtai 파이프라인을 구성해 보겠습니다.

from min_dalle import MinDalle

from txtai.pipeline import Pipeline

class Dalle(Pipeline):
  def __init__(self):
    self.model = MinDalle(is_mega=False, is_verbose=False)

  def __call__(self, texts, seed, prefix):
    results = []
    for text in texts:
      text = prefix + text
      results.append(self.model.generate_image(text, seed))

    return results


DALL-E 워크플로 구축



다음으로 txtai 워크플로를 YAML로 정의합니다. 이 워크플로는 지정된 URL에서 텍스트를 추출하고 요약을 작성한 다음 요약 텍스트에 대한 이미지를 생성합니다.

이 워크플로우는 아래와 같이 Python에서 또는 API service 로 실행할 수 있습니다.

from txtai.app import Application

app = Application("""
__main__.Dalle:
summary:
  path: sshleifer/distilbart-cnn-12-6
textractor:
  join: true
  lines: false
  minlength: 100
  paragraphs: true
  sentences: false
workflow:
  draw:
    tasks:
    - action: textractor
      task: url
    - action: summary
      args: [0, 60, 0]
    - action: __main__.Dalle
      args: [1024, "Illustration of "]
""")


웹 페이지 요약 이미지 생성



이제 워크플로우가 시작되었으므로 일부 이미지를 생성해 보겠습니다. 다음 예제에서는 일련의 Wikipedia 기사에 대한 이미지를 생성합니다. 기사, 요리법 또는 기타 설명이 포함된 웹 페이지에 대해 시도해 보십시오.

다음 URL을 사용하여 임의의 Wikipedia 페이지에 대한 이미지를 생성하는 것도 재미있습니다. https://en.wikipedia.org/wiki/Special:Random

import ipyplot

# Build list of Wikipedia article URLs
captions = ["Catholic Church", "Magic Kingdom", "Epcot", "Mountain", "Tundra", "War of 1812", "Chinese Cuisine", "Indian Cuisine", "Italian Cuisine",
            "Romanian cuisine", "Football", "Artificial Intelligence", "Galaxy", "Fjord", "Island"]
urls = [f"https://en.wikipedia.org/wiki/{url.replace(' ', '_')}" for url in captions]

# Run workflow to generate images with DALL-E mini
images = list(app.workflow("draw", urls))

# Plot images
ipyplot.plot_images(images, captions, img_width=256)




마무리



이 문서에서는 웹 페이지 요약 이미지를 생성하기 위해 txtai 워크플로를 구축하는 방법에 대한 예제를 살펴보았습니다. DALL-E mini는 매혹적인 모델이며 모델이 어떻게 작동하는지 "보는"것은 매우 재미있습니다. 직접 시도해 보세요!

좋은 웹페이지 즐겨찾기