2회차: 한국 드라마로 한국어를 배우는 K-Drama Bot 제작 2

배경 및 목적

한국어를 배우는 외국 학생들이 한국 드라마를 학습자료로 이용하는 경우가 있기에 이들 학생들이 AI 챗봇과 대화식으로 한국어 학습을 하면 좋겠다고 생각하였습니다.

AI 챗봇을 제작하는데 있어 한국 드라마 관련 자료를 추가 자료로 제공해주는 RAG 방식을 적용하게 되면 보다 정확한 한국어 학습 자료를 제공해줄 수 있을 것이라 생각하였고요.

그래서 라마인덱스 스터디에 참가하면서 RAG를 최적화하기 위해 라마인덱스를 사용해서 한국 드라마 AI 챗봇을 만들어보는 것을 목표로 하면서 제 나름대로 차근차근 과정을 밟고 있습니다.

1회차 글에서는 간단한 방식으로 만든 2개의 챗봇을 소개해드렸습니다. 아래와 같습니다.

  • GPTs로 'K드라마 친구' (1회차에 이름을 '드라마한국어2'로 했다가 변경)

한국어로 된 두 사람의 대화 스크린샷
  • Streamlit Community의 K-Drama Bot

이번 2회차에서는 1) Sendbird의 툴을 이용해서 만든 '드라마한국어봇'과 2) 이승우(2024)를 바탕으로 클라우드 IDE인 goorm에서 만든 '내 친구 우영'을 소개합니다.

참고 자료

이승우. (2024). 챗GPT API를 활용한 챗봇 만들기. 한빛미디어. https://www.hanbit.co.kr/store/books/look.php?p_code=B7896723894

라마인덱스로 나만의 LLM 서비스 구현 스터디: https://www.gpters.org/ai-study-join/post/ramaindegseuro-namanyi-llm-seobiseu-guhyeon-seuteodi-XCsgjVOcfXarAEk

활용 툴

실행 과정

Sendbird의 툴을 이용한 '드라마한국어봇'

Sendbird 사이트에서 챗봇을 만드는 것은 OpenAI의 GPTs를 만드는 것과 거의 동일했습니다.

OpenAI의 LLM도 쓸 수 있고, 다른 회사의 LLM도 쓸 수 있는 장점이 있고요. 챗봇 사용 관련 데이터 및 대화 로그가 남는 점도 유익했습니다. 다만, 고정비가 발생한다는 점은 유의해야 할 것 같고요.

한국어로 된 두 사람의 대화 스크린샷

이승우(2024)를 응용한 '내 친구 우영'

클라우드 IDE를 사용하는 것이라서 편리했습니다. 챕터별로 완성도 높은 코드가 제공되고 있어 코드를 실행하면서 수정해서 활용했습니다. 참고로 MongoDB 부분 때문에 개정판 코드를 이용해야 합니다. github에 있습니다.

코드 편집기를 보여주는 컴퓨터 화면의 스크린샷

한국어로 된 두 사람의 대화 스크린샷

knowledge 부분을 json 파일로 적당히 저장해서 활용할 수 있을 것 같아 주로 소량의 텍스트 데이터를 다루는 저로서는 편리할 것 같았습니다.

MongDB와 pinecone을 활용해서 챗봇에게 이전 대화를 기억처럼 담아두었다가 불러오는 방법이 적당하게 활용할만 했습니다.

책 후반부에 나오는 OpenAI의 Assistants API 활용도 향후에 적극 고려하면 좋을 것 같습니다. 랭체인 기법 대신에 활용할 수 있을 듯해서요.^^

결과 및 인사이트

이제까지 여러 툴을 이용해서 드라마한국어 챗봇 4개를 만들어보았습니다. 주요 포인트는 다음과 같습니다.

  • GPTs: 쉬운 완성, 유료 (제공자, 사용자), 무료 사용 제한적

  • Streamlit Community: 템플릿 사용, 콘텐츠가 오픈됨

  • Sendbird: GPTs처럼 쉬운 세팅, 유료 (제공자), 무료 (사용자)

  • goorm: 배우면서 만드는 챗봇, 실제 서비스까지 고려사항이 많음

빠르게 제작해서 배포까지 해야 하는 제 입장에서는 GPTs와 Sendbird를 이용하는 것이 적절했습니다. 실제로 이 챗봇들은 학생들에게 소개해서 사용하고 있고요.

하지만, 자유도를 높이고 응용력을 키우기 위해서는 전문 툴을 사용하면서 직접 코딩해보는 것이 좋겠다는 생각이 듭니다. 하지만, 저는 전문가가 아니니 적당한 수준에서 배워 활용하는 것을 목표로 하고 있습니다. 그 부분은 전문가의 영역이니까요. 그래도 배우는 것은 즐거운 일입니다.

4
1개의 답글

👉 이 게시글도 읽어보세요