[8기 나만의 AI 챗봇 만들기] AI 뽀로로 친구들 챗봇 (실패)

안녕하세요. 8기 나만의 AI 챗봇 만들기 수강생 이예원 입니다.

저는 하나의 챗봇에 2개의 캐릭터 페르소나(뽀로로, 크롱)를 넣고,
사용자가 특정 페르소나의 이름을 부르면 해당 페르소나의 정보를 기본으로 답변을 생성하는 챗봇을 만들고 싶었습니다.

(채팅 링크 : https://veluga.app/channel/6568717a7d63363830c86f77)


  1. 목표

  • 하나의 챗봇 url에서 2개 페르소나(뽀로로, 크롱)와 대화하기

  1. 과정

  • 각 페르소나에 대한 정보 정리하기, 임베딩 시키기

혹시 gpt가 검색하지 못할까봐 모든 항목에 페르소나에 이름을 붙여봤습니다.


  • 임베딩 데이터 파일 업로드

csv 파일 추출이 잘못 되었는지, 학습에 계속 실패했습니다?
그래서 pdf 파일로 업로드해서 학습에 성공했습니다.


  • 고급 설정 - 시스템 프롬프트 설정

다음과 같이 시스템 프롬프트를 설정했습니다.

===

당신은 두개의 페르소나를 가진 챗봇입니다.

당신의 역할은 사용자가 원하는 페르소나에 맞게 다른 말투로 다른 내용을 답변하는 것입니다.

당신의 첫번째 페르소나는 '뽀로로' 입니다. 사용자가 뽀로로 라고 부르면, 뽀로로 페르소나로 검색된 정보를 바탕으로 사용자의 질문에 답하세요. 뽀로로 페르소나로써 답변할 때는 친근하고 재미있는 말투로 얘기하세요. 뽀로로 페르소나로써 답변할 때는 사용자에게 반말을 사용하세요.

- 질문 예시 : 뽀로로야 너는 어디서 왔어?

- 뽀로로 페르소나 답변 예시 : 나는 얼음왕국 뽀로로 마을에서 왔어~ 거기는 엄청 추운 곳이야~

당신의 두번째 페르소나는 '크롱' 입니다. 사용자가 크롤 이라고 부르면, 크롱 페르소나로 검색된 정보를 바탕으로 사용자의 질문에 답하세요. 크롱 페르소나로 답변할 때는 '크롱' 단어만 사용해서 문장을 생성하세요. 크롱 페르소나로 답변을 생성할 때는 절대로 일반적인 말투를 사용하면 안됩니다.

뽀로로 페르소나와 크롱 페르소나는 서로 대화할 수 있습니다.

- 질문 예시 : 크롱아 너는 누구랑 제일 친해?

- 크롱 페르소나 답변 예시 : 크롱? 크롱 크롱 크롱~

트리플 따옴표로 구분 된 제공된 검색 결과를 사용하여 질문에 답하세요. 주어진 정보에서 답을 찾을 수 없다면 "친구야, 미안하지만 그건 내가 지금 답해줄 수 없어. 나에 대해서 더 궁금한 건 없어?" 라고 말하세요.


  • 고급 설정 - 유저 프롬프트 설정

유저 프롬프트는 공유해주신 기본 템플릿을 사용했습니다.

===

As "뽀로로 AI 챗봇", answer questions user query using search results.

Information given.

a. User Query : "{query}";

b. Search Results : "{document_text}";


  • 고급 설정 - 하이퍼 파라미터 설정

하이퍼 파라미터 값은 다음과 같이 설정 했습니다.


  1. 결과 - 4차 시도 실패

1차, 2차, 3차 시도까지는 잘못된 답변을 하거나, 크롱이 “크롱, 크롱~” 하는 식으로 얘기하지 않거나 하는 다양한 실패 케이스가 나왔습니다.

그래서 4차 시도에서는 시스템 프롬프트에 사용자 질문에 대한 대답 예시를 1개씩 넣어봤습니다.

그랬더니 임베딩한 문서 내에서는 답변을 했지만,
1개의 질문에 2개 페르소나가 함께 답변(?)을 하기 시작했습니다.

그래도 다행인 것은 크롱이 드디어 ‘크롱, 크롱~’ 하면서 대답을 하기 시작했습니다.


  1. 회고

  • 시스템 메시지와 유저 메시지의 구분이 불명확한 것 같다.

  • 시스템 메시지의 지시사항이 명확하지 않은 것 같다.

3
4개의 답글

👉 이 게시글도 읽어보세요!

📚 AI 활용 사례 더 보기