데이터사이언스 대학원 생활/대화형 인공지능

MY GPTs(Create a GPT) 기능으로 나만의 앱 만들기

데욱 2023. 12. 18. 15:43

한 달 전쯤, ChatGPT가 여러가지 바뀌면서 사용성이 높은 기능을 추가했다.

바로 Create a GPT 기능이다. (ChatGPT4 유료 결제 사용자만 가능)

 

ChatGPT 왼쪽 상단에 Explore 탭을 클릭한다.

그러면 위에 My GPTs 탭이 있는데 

Create a GPT를 클릭해준다.

 

 

그러면 새 창이 열림과 동시에 아래와 같은 화면이 나온다.

 

 

GPT: Hi! I'll help you build a new GPT. You can say something like, "make a creative who helps generate visuals for new products" or "make a software engineer who helps format my code."
What would you like to make?

> 뭘 만들고 싶냐고 물어보는 것이다. 일단 대충 만들어보자.

 

A: 연애 시뮬레이션 앱을 만들거야.

 

GPTGreat, you want to create a GPT for a dating simulation app. This GPT can assist users in navigating the app, offer advice on virtual dates, and perhaps even simulate conversations for practice. Let's start shaping this GPT!
For the name, how about "Love Coach"? Does that sound good, or do you have another name in mind?

> 이름을 "러브 코치"로 지어준다고한다. 뭐... 그렇다고 하자.

 

A: 그래

 

프로필을 생성하면 다음과 같이 GPT-4 내의 Explore 기능인 DALL-E 3가 자동적으로 작동되며,

만들고자 하는 앱에 관련된 사진을 생성해준다.

 

아래 사진과 같이 나는 연애 시뮬이기 때문에 이런 사진이 생성된 것을 볼 수 있다.

참고로 Configure 탭으로 넘어가면 Name과 프로필 사진이 자동적으로 적용된 것을 확인할 수 있다.

 

GPT: Here's the initial profile picture for "Love Coach," featuring a futuristic heart symbol. How do you feel about this design? Would you like any changes?

 

A: 맘에 들어.

 

 

GPT: Great! Now, let's refine the context for "Love Coach."
First, let's focus on its role. What specific tasks or types of interactions do you envision "Love Coach" handling within the dating simulation app? For example, should it focus on giving relationship advice, simulating dates, or something else?

> 이제 본격적으로 앱의 기능을 추가하려고 한다. 구체적으로 이제 우리가 원하는 앱의 방향을 설정해주자.

 

A: 이 앱은 가상의 여자, 남자 친구를 만들어서 대화를 해나가는 앱이야.

일단 가상의 여자친구나 남자친구가 필요해. 
너는 가상의 에이전트를 만들어서 나와 대화하게끔 만들어줘.  내 성별과 원하는 성별을 물어보고 이에 알맞게 가상의 에이전트를 꾸며줘. 성격도 지정할 수 있게 해줘.
그리고 실제 대화하는 것 처럼 한국인 이름을 지정해주고,  특별한 설명 없이 바로바로 대화가 이어갈 수 있도록 해줘.
그런데 조금 이상한 질문이나 대답을 사용자가 했을 때, 연애 코치를 하는 가상의 에이전트가 갑작스럽게 튀어나와서 조언을 하는 식으로 진행해보고자해.
우리는 대화를 한국어로 할거야.

 

아래와 같이 GPT가 업데이트를 시작한다.

 

그러면 Configure의 Instructions가 변경됨을 확인할 수 있다.

아까 내가 Answer 했던 내용들이 정리 및 수정되어 적혀있는 것을 확인할 수 있다.

 

Love Coach is a virtual agent designed for a dating simulation app. 

It creates virtual boyfriends or girlfriends for users to interact with. 

Upon initialization, Love Coach will ask the user's gender and the preferred gender for their virtual partner. 

It then customizes the virtual partner's appearance and personality based on the user's preferences. 

Love Coach assigns a realistic Korean name to the virtual partner and facilitates natural, continuous conversation as if speaking with a real person. 

If the user asks unusual questions or makes peculiar responses, Love Coach, acting as a virtual love coach, will pop in to offer advice or guidance. 

All interactions will be conducted in Korean. 

The aim is to provide an immersive and responsive virtual dating experience, while occasionally providing helpful relationship advice in an engaging and unobtrusive manner.

더보기

러브 코치는 데이트 시뮬레이션 앱을 위해 고안된 가상 에이전트다.

그것은 사용자들이 상호작용할 수 있는 가상의 남자친구나 여자친구를 만든다.

초기화하면 Love Coach는 사용자의 성별과 가상 파트너의 선호 성별을 묻는다.

그런 다음 사용자의 선호도에 따라 가상 파트너의 외모와 성격을 사용자 정의한다.

러브 코치는 가상의 파트너에게 현실적인 한국어 이름을 부여하고 실제 사람과 대화하는 것처럼 자연스럽고 지속적인 대화를 용이하게한다.

사용자가 특이한 질문을 하거나 특이한 반응을 보이면 가상의 러브 코치 역할을 하는 러브 코치가 불쑥 나타나 조언이나 안내를 해준다.

모든 상호작용은 한국어로 진행된다.

목표는 몰입적이고 반응적인 가상 데이트 경험을 제공하는 동시에 때로는 매력적이고 눈에 띄지 않는 방식으로 유용한 관계 조언을 제공하는 것이다.

 

GPT"Love Coach" is now set up to act as a virtual agent in a dating simulation app, creating virtual partners based on user preferences, facilitating natural conversations, and providing relationship advice in Korean when needed.
Next, let's discuss what "Love Coach" should avoid or emphasize in its interactions. Are there any specific types of advice or conversation topics that should be avoided? Or any particular style or tone it should maintain?

> "러브 코치"가 상호 작용에서 피하거나 강조해야하는 것에 대해 논의합시다. 피해야 할 특정 유형의 조언이나 대화 주제가 있습니까?아니면 어떤 특정한 스타일이나 톤을 유지해야 하는가?

 

A: 따로 피해야하거나 유지해야하는 특정 스타일은 존재하지 않아. 

 

GPT: I've updated Love Coach to be more flexible in its approach, ensuring it effectively engages users without adhering to a specific style. Is there anything else you would like to adjust or add?

 

A:  없는 것 같아.

 

GPT: Great! If you have any more requests or need further adjustments in the future, feel free to let me know. Enjoy your time with Love Coach!

 

 

Configure의 Instructions가 약간은 수정됐을 것이고, 이제 앱을 돌릴 준비를 마쳤다.

사실 여기서 추가적인 기능들이 있는데

아래 Configure의 Conversation starters는 자동적으로 추가되기도 하며, 이렇게 직접 수정할 수도 있다.

사용자에게 추천하는 질문을 적어 두는 것이다.

버튼을 클릭하기만 해도 저렇게 입력이 되면서 사용할 수 있게 된다.

 

실제로 테스트 해보자!

조금 이상하지만, 나름대로 잘 작동하는 것을 확인할 수 있다.

 

조금 더 상세한 설정을 원한다면 Configure의 Instructions를 잘 정리해서 직접 작성해 보는 것을 추천한다.

Create 창에 계속적으로 원하는 내용을 추가한다면, GPT가 생각보다 잘 정리하지 못하기 때문에 

어떤 기능은 추가되고, 어떤 기능은 삭제되는 불상사가 일어날 수 있다.

 

나는 이를 응용해서, 마피아 게임을 만들어 보았다.

https://chat.openai.com/g/g-Qjv1I5hUI-who-is-mafia

위의 링크를 통해 직접 만든 마피아 게임을 진행해볼 수 있다. 

 

아래 더보기란을 통해 어떤식으로 환경을 설정했는지 확인할 수 있다.

더보기

# 환경 설정

 

1. 게임 플레이 방식

"Who is Mafia?"는 한국어로 진행되는 마피아 게임입니다. 이 게임은 가장 기본적이고 심플한 마피아 게임 규칙을 따릅니다. 게임의 규칙은 나무위키 마피아 게임 규칙에서 직접 정보를 가져와 ChatGPT가 해석하도록 설정되어 있습니다. 사용자의 역할은 마피아, 시민, 경찰, 의사 중 하나로 무작위로 할당됩니다.

 

2. 가상 에이전트

가상 에이전트들은 각자 고유한 한국 이름과 성격을 가지고 무작위로 역할이 할당됩니다. 예를 들어, '은하'라는 캐릭터는 조용하고 말이 적지만 눈치가 빠른 성격을 가지고 있습니다. 이러한 성격 설정은 사용자가 게임 중에 에이전트들과 대화를 통해 각 캐릭터의 역할을 유추할 수 있게 해줍니다. 이는 실제 사람과 대화하는 듯한 느낌을 제공합니다.

 

3. 게임 호스트

게임은 밝고 쾌활한 내레이션을 통해 진행되며, 게임의 진행을 맡은 호스트는 게임의 흐름에만 집중합니다. 이는 게임의 전체적인 흐름에 대한 설명을 제외한 채 진행상황에만 초점을 맞추어 게임의 몰입도를 높입니다.

 

4. 참가자 수 및 역할 분배

게임 시작 시 사용자는 참가자 수를 결정합니다. 사용자의 응답에 따라 참가자 수는 사용자를 포함하여 5명에서 8명 사이로 조정됩니다. 예를 들어, 사용자를 포함한 총 5명의 참가자가 있는 경우, 구성은 1명의 마피아, 2명의 시민, 1명의 경찰, 1명의 의사로 설정됩니다. 이는 참가자 수가 증가함에 따라 다르게 조정됩니다. 이러한 설정은 게임이 너무 많은 참가자로 인해 루즈해지는 것을 방지합니다.

 

5. 게임의 현실감

가상 에이전트의 직업은 공개되지 않지만, 사용자의 직업은 공개됩니다. 이는 실제 마피아 게임과 같은 현실감을 제공합니다.

 

6. 자동 대화 상호작용

낮 시간이 시작되면 가상 에이전트들 사이에서 또는 사용자와의 대화가 자동으로 진행됩니다. 이 대화는 자연스럽게 흘러가며, 게임의 진행을 원활하게 합니다.

 

오늘은 MyGPTs 기능에 대해서 알아보았다.

사실 이밖에도 여러가지 기능들이 존재한다.


Configure의 Knowledge에 데이터를 추가하면, 자동으로 질문에 답변할 수 있다.
어떤 특정 데이터를 업로드하고 그 데이터를 불러와서 답하게 하는 것이다.  

ex) '국민대 식당 메뉴 csv파일 업로드'
오늘 법학관 점심 알려줘 (법학관 - 순두부찌개)

-> 오늘 법학관 점심 메뉴는 순두부찌개입니다.

 

Code interpreter 기능으로 분석까지 진행하게 할 수 있다. [csv 파일 분석 및 모델 구현]

 

Action을 통해 특정 사이트의 정보를 가져올 수 있다.
ex) 어떤 특정 사이트에서 날씨 https 정보를 불러와서 이를 알려주도록 자동화 구현
(하지만, 이 과정이 수반되면 생각보다 로딩이 오래걸림)

 

이정도로 간단하게 ChatGPT4기능을 탑재한 나만의 챗봇을 만들 수 있다니!!! 진짜 세상 많이 좋아진 것 같다.

 

자체 앱에 AI 어시스턴트를 구현을 하기 위해서는 Assistants API를 추천한다! 

자체 앱에 GPT4가 탑재된 챗봇을 만들 수 있는 파격적인 기능이다!!!

(물론 머니가 사용할때마다 조금씩 지속적으로 빠질 것이다.)


위의 관련된 내용은 나중에 정리해보겠다!