[ Pynecone ] DALL·E 모델로 이미지를 생성 App 만들기 (Python)
Pynecone Gallery에 보면 시계, Chart, Todo List, GPT 등 많은 예제를 소개하고 있습니다. 그 중에서 OpenAI DALL·E API를 이용하여 이미지를 생성 App을 만들어 보겠습니다. (Example Code는 Github에서 확인 가능합니다.)


1. OpenAI API 키 발급
먼저 OpenAI API를 사용하기 위해 API 키 발급이 필요합니다. 먼저 OpenAI API 사이트로 이동합니다. OpenAI 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. 간단히 Google이나 Microsoft 계정을 연동 할 수 있습니다. 이미 계정이 있다면 로그인 후 진행하시면 됩니다.
OpenAI API
An API for accessing new AI models developed by OpenAI
platform.openai.com
로그인이 되었다면 우측 상단 Personal -> [ View API Keys ] 를 클릭합니다.

[ + Create new secret key ] 를 클릭하여 API Key를 생성합니다. API key generated 창이 활성화되면 Key 를 반드시 복사하여 두시기 바랍니다. 창을 닫으면 다시 확인할 수 없습니다. (만약 복사하지 못했다면 다시 Create new secret key 버튼을 눌러 생성하면 되니 걱정하지 않으셔도 됩니다.)
2. Installation
pip install --upgrade openai
설치 후 command 창에서 openai 명령어를 입력하면 아래와 같이 출력되어야 정상적으로 설치가 된 것 입니다.

3. Create a Project
dalle 라는 directory를 만들고 dalle.py 파일을 추가했습니다.
getting_started_with_pynecone ├── .web ├── assets ├── getting_started_with_pynecone │ ├── __init__.py │ └── getting_started_with_pynecone.py ├── dalle # 추가 │ ├── __init__.py # 추가 │ └── dalle.py # 추가 └── pcconfig.py
dalle.py 파일을 아래와 같이 수정합니다. openai.api_key 값은 위 OpenAI 에서 발급 받은 API KEY 값으로 입력합니다.
"""Welcome to Pynecone! This file outlines the steps to create a basic app.""" import pynecone as pc import openai # OpenAI에서 발급 받은 API KEY를 입력 openai.api_key = "YOUR_API_KEY" class State(pc.State): """The app state.""" prompt = "" image_url = "" image_processing = False image_made = False def process_image(self): """Set the image processing flag to true and indicate that the image has not been made yet.""" self.image_made = False self.image_processing = True def get_image(self): """Get the image from the prompt.""" try: response = openai.Image.create(prompt=self.prompt, n=1, size="1024x1024") self.image_url = response["data"][0]["url"] # Set the image processing flag to false and indicate that the image has been made. self.image_processing = False self.image_made = True except: self.image_processing = False return pc.window_alert("Error with OpenAI Execution.") def index(): return pc.center( pc.vstack( pc.heading("Yunwoong's DALL-E", font_size="1.5em"), pc.input(placeholder="Enter a prompt..", on_blur=State.set_prompt), pc.button( "Generate Image", on_click=[State.process_image, State.get_image], width="100%", ), pc.divider(), pc.cond( State.image_processing, pc.circular_progress(is_indeterminate=True), pc.cond( State.image_made, pc.image( src=State.image_url, height="25em", width="25em", ), ), ), bg="white", padding="2em", shadow="lg", border_radius="lg", ), width="100%", height="100vh", background="radial-gradient(circle at 22% 11%,rgba(62, 180, 137,.20),hsla(0,0%,100%,0) 19%),radial-gradient(circle at 82% 25%,rgba(33,150,243,.18),hsla(0,0%,100%,0) 35%),radial-gradient(circle at 25% 61%,rgba(250, 128, 114, .28),hsla(0,0%,100%,0) 55%)", ) # Add state and page to the app. app = pc.App(state=State) app.add_page(index, title="Pynecone:DALL-E") app.compile()
4. Config
pcconfig.py의 app_name을 수정합니다.
import pynecone as pc config = pc.Config( app_name="dalle", db_url="sqlite:///pynecone.db", env=pc.Env.DEV, )
5. Run the App
app을 실행해 보도록 하겠습니다. 브라우저 주소창에 http://localhost:3000를 입력 후 페이지 결과를 확인합니다.
$ pc run

Prompt를 입력하여 결과를 확인합니다. (테스트 문구 : 3D render of a cute tropical fish in an aquarium on a dark blue background, digital art)

'Tech & Development > AI' 카테고리의 다른 글
PandasAI: 데이터 분석을 위한 대화형 AI 도구 (0) | 2023.05.25 |
---|---|
[ Pynecone ] ChatGPT App 만들기 (Python) (0) | 2023.03.28 |
[ Python ] 미디어파이프(Mediapipe)를 이용한 가상 마우스 (4) | 2023.01.31 |
Fine tuning GPT3 Model (0) | 2023.01.04 |
Object Detection 정리 (History) (0) | 2022.12.14 |
댓글
이 글 공유하기
다른 글
-
PandasAI: 데이터 분석을 위한 대화형 AI 도구
PandasAI: 데이터 분석을 위한 대화형 AI 도구
2023.05.25PandasAI는 Python 라이브러리로, 인기 있는 데이터 분석 및 조작 도구인 Pandas에 생성형 인공지능 기능을 추가합니다. Pandas와 함께 사용하도록 설계되었으며, 이를 대체하는 것이 아닙니다. PandasAI는 대화형 인터페이스를 통해 Pandas를 사용하는 도구입니다. 이 도구를 통해 사용자는 데이터에 관한 질문을 하고, 이에 대한 답변을 Pandas DataFrame 형태로 받을 수 있습니다. 예를 들어, DataFrame 내의 특정 열의 값이 5를 초과하는 모든 행을 찾는 질문을 하면, PandasAI는 이 요구사항에 부합하는 행만을 담은 DataFrame을 반환합니다. 또한 PandasAI는 복잡한 질문에도 대응할 수 있으며, 요약 또는 데이터 분석 요청을 통해 그래프를 생성하는 … -
[ Pynecone ] ChatGPT App 만들기 (Python)
[ Pynecone ] ChatGPT App 만들기 (Python)
2023.03.28Pynecone Gallery에 보면 시계, Chart, Todo List, GPT 등 많은 예제를 소개하고 있습니다. 그 중에서 Chat completion API를 이용하여 이미지를 생성 App을 만들어 보겠습니다. (Example Code는 Github에서 확인 가능합니다.) 1. OpenAI API 키 발급 먼저 OpenAI API를 사용하기 위해 API 키 발급이 필요합니다. 먼저 OpenAI API 사이트로 이동합니다. OpenAI 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. 간단히 Google이나 Microsoft 계정을 연동 할 수 있습니다. 이미 계정이 있다면 로그인 후 진행하시면 됩니다. OpenAI API An API for accessing new AI models dev… -
[ Python ] 미디어파이프(Mediapipe)를 이용한 가상 마우스
[ Python ] 미디어파이프(Mediapipe)를 이용한 가상 마우스
2023.01.31Mediapipe Hands는 매우 높은 인식율과 성능을 보여주는 손 및 손가락 Tracking 솔루션입니다. 손의 모양과 움직임을 인식하여 손의 제스처 기반으로 다양한 기능을 제공 할 수 있습니다. 이미지에서 손 랜드마크 모델을 통해 21개의 관절 키포인트를 예측합니다. Mediapipe와 PyAutoGUI를 이용하여 매우 간단하게 가상 마우스 만들 수 있습니다. 참고로 PyAutoGUI는 마우스와 키보드를 제어하는 Python 모듈입니다. Install pip install mediapipe pip install pyautogui Class declaration 손의 제스처를 확인하기 위한 Class를 정의합니다. Mediapipe 라이브러리를 이용하며 손의 위치와 펼쳐진 손가락의 정보, 거리 측정 … -
Fine tuning GPT3 Model
Fine tuning GPT3 Model
2023.01.041. OpenAI API 키 발급 OpenAI API An API for accessing new AI models developed by OpenAI beta.openai.com OpenAI API 수행을 위해서는 먼저 API Key 발급이 필요합니다. OpenAI 계정이 필요하며 계정이 없다면 계정 생성이 필요합니다. 간단히 Google이나 Microsoft 계정을 연동 할 수 있습니다. 이미 계정이 있다면 로그인 후 진행하시면 됩니다. 로그인이 되었다면 우측 상단 Personal -> [ View API Keys ] 를 클릭합니다. [ + Create new secret key ] 를 클릭하여 API Key를 생성합니다. API key generated 창이 활성화되면 Key 를 반드시 복사하여 …
댓글을 사용할 수 없습니다.