Skip to main content

ChatGPT로 AI 이미지 생성 라이브러리 코드 만들기 (OpenAI DALL·E 모델 활용)

오늘은 개발자를 위한 ChatGPT 활용법중 하나인 'API 연동 라이브러리 작성'하는 방법의 두번째 사례로 ChatGPT를 활용하여 OpenAI DALL·E 모델 활용한 이미지 생성 라이브러리 만들기 코드를 작성 하는 방법을 정리 해보았습니다.

그럼 바로 AI 이미지 생성 라이브러리를 만들어보도록 하겠습니다.

1. OpenAI DALL·E 모델 활용한 AI 이미지 생성 라이브러리 만들기

그리고 다음과 같이 라이브러리 코드를 작성할때 신경써야할 요구 사항을 정리하여 코드를 작성 해달라고 요청 해봅니다. 저는 아래 네 가지를 요구 사항으로 요청 했습니다.

  • password, credential, api_key 등 민감한 값은 환경 변수로 설정할 수 있도록 작성 할것
  • 예외 처리를 꼭 포함 할것
  • usage example과 test code도 함께 작성 해줄것
  • print 문 대신 logger를 사용 할것

아래에 요청한 프롬프트 입니다.

참고로 URL 입력의 경우 WebPilot 플러그인을 사용해야 URL의 내용을 가져올 수 있습니다.

ChatGPT 프롬프트

write python lib code for image generation from following url

https://platform.openai.com/docs/api-reference/images/create

[요구사항]

  • password, credential, api_key 등 민감한 값은 환경 변수로 설정할 수 있도록 작성 할것

  • 예외 처리를 꼭 포함 할것

  • test code도 함께 작성 해줄 것

  • don't use print() function, use logging module instead

결과는 아래와 같이 코드 작성을 요청하고 예시 코드도 같이 작성을 해줍니다.

  • 라이브러리 코드 작성 결과 AI 이미지 생성 라이브러리 코드 작성

  • 예시 코드도 같이 작성 결과 AI 이미지 생성 라이브러리 예제 코드 작성

  • 테스트 코드 작성 결과 AI 이미지 생성 라이브러리 테스트 코드 작성

위와 같이 ChatGPT를 활용하여 API 문서를 기반으로 테스트 코드 까지 포함한 라이브러리 코드를 작성 해보았는데요 개선해야할 부분이 있지만 기본적으로 동작 하는 코드들은 작성을 잘 해주었습니다.

2. ChatGPT WebPilot 플러그인을 사용하지 않고 API 문서를 기반으로 라이브러리 코드 작성

위의 예시는 ChatGPT WebPilot이란 플러그인을 활용 하였는데 지난 내용에서 설명 드렸던것 처럼 아래의 프롬프트와 같이 개발문서 사양이나 예제 코드를 주고 코드 작성을 요청 할 수 도 있습니다.

ChatGPT 프롬프트

아래 [요구사항][개발문서내용]을 참고 해서 OpenAI image generation api의 python module code 를 작성 해줘

[요구사항]

password, credential, api_key 등 민감한 값은 환경 변수로 설정할 수 있도록 작성 할것

예외 처리를 꼭 포함 할것

test code도 함께 작성 해줄것

[개발문서내용: 문서 내용, example code, or curl example]

3. 이미지 Upload 기능 추가

그리고 생성된 이미지를 저장 하기위해 AWS S3에 업로드 하는 기능을 추가 해달라고 요청 할 수도 있습니다.

ChatGPT 프롬프트

write python s3 upload library code to for bucket_name BUCKET_NAME

  • params for s3 upload function: object_key
  • add to image generation library code

[요구사항]

AI 이미지 생성 라이브러리 S3 업로드 기능 추가 결과

지금까지 ChatGPT를 활용해 API문서로 AI 이미지 생성 라이브러리 코드 작성하는 방법에 대해 알아봤는데요 쉽게 이미지 생성 라이브러리를 개발 하고자 하시는 분들에게 도움이 되셨으면 좋겠습니다.