본문 바로가기

공부/AI

[chatGPT] 커스텀 GPTs : 코딩 없이 나만의 GPT 만드는 방법 (노래 가사를 이미지로 만들어주는 GPT 만들기)

 

프롬프트만으로 나만의 커스텀 GPTs 만드는 방법, GPT 커스터마이징 방법

최근 openAI의 chatGPT에 새롭게 등장한 GPTs 기능에 대하여 소개하고, 아주 간단하게 나만의 커스텀 GPT를 만드는 방법에 대하여 다루어 보고자 한다.

 

 

📌 목차

1. GPTs란?

2. GPTs의 특징

3. 아주 간단하게 커스텀 GPTs 만드는 방법 (step by step)

4. GPTs 관련 주의 사항 

 

 

📌 GPTs란?

간단히 말하면 사용자가 자신의 요구사항에 맞게 커스터마이징할 수 있는 chatGPT의 버전라고 할 수 있다. 여기에 더불어 DALL-E(이미지 생성 AI), Bing을 사용한 웹 브라우징, 코드 인터프리터, 사용자의 추가 데이터 업로드, actions 등의 기능을 사용할 수 있다. 
그리고 조만간 OpenAI에서 GPT store를 출시해서 빌더들이 만든 커스텀 GPT를 선보일 수 있게 한다고 하니 수익창출의 관점에서도 이 GPTs를 알아두면 좋을 것 같고, 굳이 수익이 목적이 아니더라도 재미를 위해서나 개인이 원하는 용도로 GPT를 커스터마이징하는 방법을 알아두면 좋을 것 같다는 생각이다.

 

 

📌 GPTs의 특징

GPTs의 가장 특징적인 부분은 크게 3가지 키워드로 요약해볼 수 있다.

1. instructions : 프로그래밍 없이도 지시를 통해 chatGPT 커스터마이징
프로그래밍이나 데이터 업로드 없이, instructions을 정의내리는 것만으로 GPT가 그 지시에 맞춰서 커스터마이징된다. 즉, 어떤 기능을 원하는지 프롬프트 입력을 잘 해준다면 누구나 노코드로 커스텀 GPT를 개발할 수 있다. 

 

2. extra knowledge : 파일 업로드를 통하여 사용자의 추가적인 데이터 사용
chatGPT는 방대한 데이터를 학습했지만, 실시간으로 데이터를 학습하진 않기 때문에 최신 데이터는 없을 수도 있고 내가 필요로 하는 지식이나 정보가 공개된 데이터가 아니라면 접근이 불가하기 때문에, 이런 경우에 선택적으로 추가 데이터를 업로드하여 사용할 수 있다. 
Configure 탭 → Knowledge 섹션 → Upload files 버튼을 누르면 파일 업로드가 가능하다. 현재 시점으로 업로드 가능한 파일 개수는 20개이다. 
    
3. actions : 서드파티 API를 커스텀 GPT에 통합
actions 기능을 사용하면 GPT가 서드파티 API나 외부 데이터베이스와 연결하며 단순히 텍스트를 생성하는 작업 이상으로 좀 더 다양한 작업도 가능하게끔 확장할 수 있다. 
OpenAPI schema를 통해서 actions를 적용 가능하다. 서드파티 API에 대한 인증, 엔드포인트, 파라미터, 어떻게 모델이 이 API를 대화에서 사용할지에 대한 세부사항 등을 제공하여 서드파티 API를 커스텀 GPT에서 사용 가능하게끔 한다.

 

 

📌 아주 간단하게 커스텀 GPTs 만드는 방법 

일단 이번 포스팅에서는 프로그래밍이나 추가적인 데이터나 actions 없이, 그냥 지시만으로 아주 간단하게 커스텀 GPTs를 만드는 방법에 대하여 다루고자 한다. 
(다음에 올릴 포스팅에서는 추가 데이터와 actions 기능을 활용하여 GPT를 커스터마이징하는 방법을 다룰 예정) 

 


Step1. 만들고자 하는 커스텀 GPT의 컨셉과 필요한 기능을 구상하자.

1. 어떤 커스텀 GPT를 만들 것인가? : 나는 평소에 노래 듣는 걸 좋아하고, 즐겨듣는 노래 가사들을 이미지로 시각화해보고 싶다는 생각을 늘 하고 있었다. 그래서 노래 가사를 입력하면 이를 그림으로 만들어주는 AI가 있으면 어떨까?라는 생각이 들었고, 이러한 커스텀 GPT를 만들기로 결심했다. 그리고 이 GPT의 이름은 제작 과정에서 Lyric Visionary로 정해졌다. 
2. 어떻게 동작해야 할까? : 노래 가사를 사용자로부터 입력받으면, 이 노래 가사를 웹에 검색하여, 해당 가사를 가진 노래의 곡 타이틀, 아티스트, 앨범 커버 등의 정보를 취합한다. 그리고 이 정보들을 맥락정보로 하여, 노래 가사와 함께 DALL-E(이미지 생성기)에 입력할 프롬프트로 변환한다. 최종적으로 그 노래 가사를 시각화한 이미지를 출력해야 한다. 
3. 어떤 데이터와 기능이 필요할까? : 노래 가사를 기반으로 노래에 대한 메타 정보를 웹에서 검색하여 취합해야 하므로 웹 브라우징 기능이 필요하다. 또한 이를 이미지로 변환해줘야 하므로 DALL-E 기능이 필요하다. 일단 아직까지는 외부 데이터나 서드파티 API는 필요하지 않을 것으로 판단된다. 향후 이 Lyric Visionary GPT를 쓰면서 추가적으로 구현하고 싶은 기능이나 외부 API나 데이터가 필요할 경우, 그때그때 추가해줄 예정이다. 

 


Step2. GPT Bulider에 접근하자.

커스텀 GPT를 만들기 위해서는 OpenAI에서 제공하는 GPT Builder에 접근해야 한다. chatGPT에서 계정 이름을 클릭하면 다음과 같은 창이 나온다.

 

여기서 MyGPTs를 클릭하면 Create a GPT 버튼이 나온다. 

Create a GPT 버튼을 클릭하면 새로운 커스텀 GPT를 생성할 수 있다.

 

 

Step3. Create 탭에서 어떻게 GPT를 커스터마이징하고 싶은지 지시하자.

Create a GPT 버튼을 클릭해서 들어가면 이렇게 Create, Configure, Preview 탭이 있는 창이 나온다. 창의 왼쪽에는 에디터에 해당하는 Create 탭이 있고, 오른쪽에는 모델을 테스트해볼 수 있는 플레이 그라운드에 해당하는 Preview 탭이 있다. 따라서 왼쪽의 Create 탭에서 커스텀 GPT에 대한 요구사항들을 입력하고 오른쪽의 Preview 탭에서는 이러한 지시가 제대로 적용되었는지 확인해보는 과정을 매우 직관적으로 수행할 수 있다.


나는 처음에 Create 탭에 이렇게 프롬프트를 입력해 주었다.

[Task]
1. Receive Lyrics as User Input : Begin by accepting song lyrics provided by the user. This step involves carefully receiving the exact words or phrases from the song as input. It's crucial to ensure accuracy in this step, as the specific lyrics will be the foundation for the entire visual creation process.

2. Conduct an Internet Search for Metadata : Once the lyrics are received, initiate an automated search on the internet using the exact lyrics as the search query. When searching for lyrics, you'll need to carefully check what the user has typed - even if they've typed a line of text separated by an Enter, you'll need to concatenate them all together and search as a single sentence. This will prevent you from getting confused with information from other songs with similar lyrics. Also, avoid translating the lyrics into different languages; search for them in their original form. This step is designed to gather essential metadata about the song. Aim to collect information such as the artist's name, the song title, and any related album artwork. This metadata will be instrumental in providing context and background, enriching the overall process of visual interpretation.

3. Craft a Well-Thought-Out Prompt for DALL-E : Utilize the gathered metadata and the lyrics themselves to formulate a detailed, insightful prompt. This prompt should not only reflect the literal meaning of the lyrics but also capture their deeper essence, emotional tone, and the artistic style of the musician. The goal here is to synthesize the lyrics and the contextual information into a prompt that accurately guides DALL-E in creating a visual representation that resonates with the song’s spirit.

4. Generate Artwork Using DALL-E : With the prompt ready, feed it into the DALL-E system to generate the artwork. This final step is where the interpretations and insights gathered from the lyrics and metadata are transformed into a visual form. The artwork created by DALL-E should be a visual embodiment of the song, reflecting both its literal and metaphorical aspects, and harmonizing with the artist's style and the song's mood.

 

위 내용을 한국어로 쓴 버전은 다음과 같다.

[작업]
1. 가사를 사용자 입력으로 받기 : 노래 가사를 사용자로부터 입력받는 것으로 시작하세요. 이 단계에서는 노래의 정확한 단어나 구절을 정확하게 받아야 하며, 특정 가사는 이미지를 시각화하는 전체 과정의 기초가 되므로 정확성을 확보하는 것이 중요합니다.

2. 인터넷에서 메타데이터를 검색 : 가사를 받으면 정확한 가사를 검색 쿼리로 사용하여 자동적으로 인터넷에서 검색을 실행하세요. 가사를 검색할 때는 사용자가 입력한 내용을 주의 깊게 확인해야 합니다. 사용자가 한 줄의 텍스트를 엔터로 구분하여 입력했더라도 이를 모두 연결하여 하나의 문장으로 검색해야 합니다. 이렇게 하면 가사가 비슷한 다른 노래의 정보와 혼동되는 것을 방지할 수 있습니다. 또한 가사를 다른 언어로 번역하지 말고 원어 그대로 검색하세요. 이 단계는 노래에 대한 필수 메타데이터를 수집하기 위해 고안된 단계입니다. 아티스트 이름, 노래 제목, 관련 앨범 아트워크 등의 정보를 수집하는 것을 목표로 합니다. 이 메타데이터는 노래에 대한 맥락과 배경을 제공하는 데 중요한 역할을 하며, 시각적 해석을 풍부하게 해줍니다.

3. DALL-E에 입력할 적절한 프롬프트 생성 : 수집한 메타데이터와 가사 원문을 활용하여 자세하고 통찰력 있는 프롬프트를 구성합니다. 이 프롬프트는 가사의 문자 그대로의 의미를 반영할 뿐만 아니라 가사의 더 깊은 본질, 감정적 톤, 아티스트의 평소 작업 스타일도 포착해야 합니다. 이 단계에서의 목표는 가사와 문맥 정보를 종합하여 DALL-E가 노래의 본질을 표현할 수 있는 이미지를 만들 수 있도록 정확하게 안내하는 프롬프트를 만드는 것입니다.

4. DALL-E를 사용하여 아트워크 생성 : 프롬프트가 준비되면 이를 DALL-E 시스템에 입력하여 아트워크를 생성합니다. 이 마지막 단계에서는 가사와 메타데이터에서 수집한 해석과 인사이트가 시각적인 형태로 변환됩니다. DALL-E가 생성한 이미지는 노래의 문자적 측면과 은유적 측면을 모두 반영하고 아티스트의 스타일 및 노래의 분위기와 조화를 이루는 시각적 구현이어야 합니다.

 

모델이 영어를 더 잘 이해하므로 프롬프트는 기본적으로 영어로 입력하는 것을 추천한다. 그리고 태스크와 응답 수준에 대한 세부사항들을 최대한 자세히 입력해주었고, 이후에 여기서 몇번 더 지침을 수정하였다.

 

그러면 GPT Builder가 알아서 내가 원하는 커스텀 GPT의 이름도 만들어주고, 로고도 만들어주고, Configure도 설정해준다. 나는 GPT Builder가 추천해준 서비스 이름인 Lyric Visionary와 로고가 다 마음에 들어서 그대로 사용하였다. 

 

게다가 GPT Builder가 추가적으로 필요한 내용에 대해 질문을 던지기 때문에, 여기에 맞게 답하면서 커스텀 GPT의 기능을 더 정교화할 수 있다. 

 

 

Step4. Configure 탭의 Knowledge 섹션에서 추가적인 데이터를 업로드하자. (선택)

추가적인 데이터가 필요하다고 판단되면 다음과 같이 Configure 탭의 Knowledge 섹션에서 파일을 업로드할 수 있다. 지금 이 포스팅에선 이 과정을 생략하고 다음 포스팅에서 다룰 예정이다.

 

 

Step5. Configure 탭의 Capabilities 섹션에서 필요한 기능을 설정하자. (선택)

기본적으로 OpenAI 측에서 Web Browsing, DALL-E Image Generation, Code Interpreter 기능을 제공해준다. 이 중에서 필요한 기능을 선택하면 된다. 내가 만들 Lyric Visionary에는 Web Browsing, DALL-E Image Generation 기능이 필요하기 때문에 이 부분의 체크박스를 체크해준다. (기본적으로 이 두가지는 디폴트로 체크되어 있긴 하다)

 

 

Step6. Configure 탭의 Actions 섹션에서 서드파티 API와 연결하자. (선택)

서드파티 API나 외부 데이터베이스와 연결하여 좀 더 다양한 작업이 가능하게끔 확장하려면 Actions를 설정해준다. 지금 이 포스팅에선 이 과정을 생략하고 다음 포스팅에서 다룰 예정이다.

 

 

Step7. Create 탭에서 지시를 내리고 Preview 탭에서 모델의 동작과정을 확인하는 과정을 반복하면서 지속적으로 기능을 개선하자.

지시 입력과 테스트를 반복적으로 수행하면서 Preview에서 기능과 동작이 제대로 이루어지는지 확인하고, 나만의 커스텀 GPT가 원하는 목적에 맞게 작동하도록 지속적으로 지시를 개선하는 것이 좋다.

나의 경우, 처음의 instructions으로 구현된 GPT에 대해 만족스럽지 않은 점들이 있었다. 예를 들어 사용자로부터 입력받은 가사를 인터넷에 검색했을 때 결과가 나오지 않는 경우가 있을 수 있다. (사용자가 자작곡 가사를 입력할 수도 있고) 그래서 이런 케이스에 대한 대응방안이 필요해서 좀 더 동작을 개선하도록 수정 프롬프트를 입력해주었다.  수정 프롬프트의 예시는 다음과 같다. 

1. In cases where metadata for the lyrics isn't found online : Apologize for the inability to locate specific song information and proceed to create an image. This image should be a direct interpretation of the input lyrics, utilizing their core content as a prompt for DALL-E. Alongside presenting the image, explain that it was crafted solely from the interpretation of the provided lyrics, devoid of any external song information. Additionally, include a rationale for the imagery based on the perceived meaning and essence of the lyrics.

2. If metadata is successfully sourced from the lyrics : Generate and present an image, including a detailed description. This description should identify the song and artist, describe the mood of the lyrics within the context of the gathered metadata, and articulate the reasoning behind the creation of this specific image. This approach ensures that the visual representation is both informed and enriched by the background information, offering a deeper connection to the original song.

 

위 내용을 한국어로 쓴 버전은 다음과 같다.

1. 가사에 대한 메타데이터를 인터넷에서 찾을 수 없는 경우: 노래에 대한 정보를 찾을 수 없는 것에 대해 사과하고 이미지 생성을 진행하세요. 이 이미지는 입력된 가사를 직접적으로 해석한 것으로, 가사의 핵심 내용을 DALL-E의 프롬프트로 활용해야 합니다. 이미지를 출력할 때 이와 함께 외부 곡 정보 없이 제공된 가사의 해석만으로 만들어진 이미지임을 설명합니다. 또한 가사의 의미와 본질을 바탕으로 이미지에 대한 근거를 포함하세요.

2. 가사로부터 메타데이터를 인터넷에서 찾은 경우 : 자세한 설명을 포함한 이미지를 생성하여 제시합니다. 노래와 아티스트 정보, 수집된 메타데이터의 맥락을 통해 가사의 분위기를 설명하며, 이 이미지가 생성된 이유를 명확하게 설명해야 합니다. 이러한 접근 방식을 통해 이미지 생성은 맥락 정보로 풍부해지고 노래와 더 깊게 연결될 수 있습니다.

 

 

Step8. Save 버튼을 눌러서 커스텀 GPT를 배포하자.

이 때 커스텀 GPT의 공개범위를 설정 가능하다. Only me를 선택하면 비공개(나만 볼 수 있음), Anyone with a link를 선택하면 링크를 가진 사용자만 접근 가능, Public을 선택하면 전체 공개이니 이를 용도에 맞게 확실히 선택하고 Confirm 버튼을 눌러 배포를 한다. 

 

 

Step9. 이후에 사용하면서 개선사항이 필요할 경우 틈틈이 업데이트하자.

커스텀 GPT는 한번 배포한다고 끝이 아니라 지속적으로 업데이트가 가능하다. 그러니 사용하면서 내가 원하는 목적에 부합하지 않는 점들을 잘 기록해두었다가 이를 개선할 수 있는 지시사항이나, 추가적인 데이터나 외부 API들을 연결하는 방식 등으로 계속 업데이트하는 것이 좋다. 

 

 

📌 작동 잘 하는지 확인

 

이러한 과정을 거쳐서 나만의 커스텀 GPT를 완성하였다.

Lyric Visionary를 사용해서 내가 평소에 좋아하던 노래 가사들을 입력해보았다. 

 

우선 뉴진스 - Hype Boy 가사를 입력!

 

Sik-K - 랑데뷰 (Rendezvous) 가사도 입력해보았다. 

이건 귀엽고 감성적인 이미지로 나온 것 같다. 이미지에서 새겨진 글씨인 Rendezvous 철자는 틀렸고 한국어는 아무말이나 써놓은 것 같긴 하지만 그럴 듯 한 것 같기도.. 

 

그리고 Bruno Mars - Talking to the Moon 도 입력해보았다. 

일단 웹브라우징이랑 프롬프트 동작에 대해 상세히 설명해주고 있다. 그리고 GPT가 영어를 더 잘 해서인지, 영어 가사를 입력하면 노래 해석도 좀 더 잘 해주고 이미지도 잘 뽑는 것 같다. 각각 케이팝, 힙합, 팝송을 입력해봤는데 장르나 곡 분위기에 따라 이미지의 분위기와 그림체도 달라져서 신기했다. 추후 이 GPT를 개선한다면 사용자에게 원하는 그림 스타일에 대한 선택 옵션을 주는 것도 좋을 거 같다.  

 

여담으로, 내가 정말 소중하게 여기는 노래들의 가사들을 입력해본 결과..

이 노래 가사를 시각화한 그림을 통해 역으로 이게 어떤 노래들인지 맞추는 사람이 있다면 뭔가 신기할 것 같다.

 

+) 제가 만든 커스텀 GPT인 Lyric Visionary를 사용해보고 싶은 분이 계시다면 아래 링크로 접속하시면 사용 가능합니다😊 

Lyric Visionary - https://chat.openai.com/g/g-nT5zfPmxX-lyric-visionary

 

 

📌 GPTs 관련 주의사항

 

1. 데이터 및 개인 정보 보호 

OpenAI는 데이터 및 개인정보 보호를 안전하게 적용하기 위해, 제작자와 사용자 데이터를 분리한다. 따라서 커스텀 GPT를 만든 제작자는, 자신의 GPT를 사용하는 사용자의 대화에 접근이 불가능하다. 역으로 말하면 제작자 입장에서 본인이 만든 GPT를 통해 로그나 데이터를 얻을 수 없기 때문에 기능 개선 등의 작업이 어려울 수도 있다. 

 

2. chatGPT Plus 구독자만 커스텀 GPTs 빌드 및 사용 가능

커스텀 GPTs를 빌드하거나 사용하기 위해서는 chatGPT Plus, 즉 유료 구독자여야 한다. 유료 구독은 한달에 $20인데 저렴한 가격은 아니지만 GPT4의 성능이나 DALL-E3, 웹 브라우징, 그리고 커스텀 GPTs 등 생산성이 높고 강력한 기능들을 사용할 수 있다는 점을 생각해보면 괜찮은 가격이라서 구독을 추천한다. 그리고 최근에는 chatGPT plus 구독자가 많아져서 waitlist에 등록해야 구독이 가능하다고 하니, 일단 waitlist에 등록해놓는 것이 좋을 것 같다는 생각이다.

 


 

내용이 도움이 되셨다면 댓글 또는 좋아요 부탁드립니다. 감사합니다. 😀

반응형