본문 바로가기
정보글

초보자도 쉽게 따라할 수 있는 카카오 챗봇 만들기 가이드

by 노트컴히어 2023. 6. 27.

1. 개요

 

 

 

[1. 개요]

 

카카오 채널을 이용하여 카카오 챗봇을 만들어 보는 가이드입니다. 이 가이드는 초보자도 쉽게 따라할 수 있는 방식으로 구성되어 있으며, 카카오 채널과 카카오 i 오픈빌더를 사용하여 구현됩니다.

 

본 가이드를 통해 챗봇 구현에 필요한 기본적인 개념과 구현 방법을 습득할 수 있습니다. 또한, 이 가이드를 통해 더욱 다양하고 유용한 챗봇을 만들어 나갈 수 있는 기반을 마련할 수 있습니다.

 

초보자도 쉽게 따라할 수 있도록 상세한 설명과 실습 단계를 제공할 예정이며, 본 가이드를 따라하면서 챗봇 개발에 대한 전반적인 이해를 높일 수 있습니다.

 

 

 

2. 카카오 챗봇이란?

 

 

 

카카오 챗봇은 카카오톡 플랫폼상에서 동작하는 인공지능 소프트웨어로, 사용자와의 대화를 통해 의도한 작업을 수행하거나 정보를 제공하는 역할을 합니다. 사용자가 입력한 메시지를 분석해 적절한 답변을 생성하고, 필요한 경우 외부 API 등을 활용하여 다양한 기능을 제공합니다.

 

예를 들어, 음식 주문, 날씨 정보 제공, 일정 관리 등 다양한 기능을 수행할 수 있습니다. 또한 최신 인공지능 기술을 활용하여 자연어 처리, 이미지/음성 인식 등 다양한 기능을 구현할 수 있어 많은 분야에서 활용됩니다.

 

 

 

3. 카카오 i 오픈빌더 소개

 

 

 

카카오 i 오픈빌더는 카카오에서 제공하는 챗봇 구축 플랫폼입니다. 챗봇 개발 경험이 없는 초보자들도 쉽게 사용할 수 있도록 UI/UX가 최적화되어 있습니다.

 

카카오 i 오픈빌더를 사용하면 다양한 대화 흐름을 구성하고, 자연어 처리를 통해 쉽게 챗봇 대화 기능을 개발할 수 있습니다.

 

카카오 i 오픈빌더는 스킬, 템플릿, 엔티티, 인텐트 등 다양한 요소들을 원하는 대로 구성하여 챗봇을 만들 수 있습니다. 또한, 다양한 서비스와 연동하여 외부 API를 사용할 수 있습니다.

 

카카오 i 오픈빌더를 사용하면 쉽고 빠르게 챗봇을 만들 수 있으며, 개발자들은 소스코드를 작성하지 않고도 자신이 원하는 대화 흐름을 구성할 수 있습니다.

 

 

 

4. 준비물

 

 

 

- 카카오 i 오픈빌더 계정: 카카오 i 오픈빌더 웹사이트에 가입하여 계정을 만들어야 합니다.

 

- 카카오 i 오픈빌더 템플릿: 템플릿은 챗봇을 만드는 기본 틀을 의미합니다. 카카오 i 오픈빌더에는 다양한 종류의 템플릿이 있으며, 기업용, 교육용, 일반적인 대화용 등의 템플릿을 간편하게 선택하여 사용할 수 있습니다.

 

- 대화 내용 및 답변: 챗봇을 제작하기 전에 어떤 내용을 다룰 것인지, 어떤 답변을 제공할 것인지 미리 정해둬야 합니다. 이를 위해서는 사용자가 자주 묻는 질문, 관심사, 업무처리 등을 고려해야 합니다.

 

- API 연동을 위한 계정 및 키: 만약 챗봇이 외부의 정보를 가져와야 한다면, 해당 정보를 제공하는 서비스의 API 연동을 위한 계정과 키를 미리 발급받아야 합니다. 일부 API 서비스는 무료로 발급받을 수 있습니다.

 

 

 

5. 카카오 i 오픈빌더 계정 만들기

 

 

 

1. 카카오 i 오픈빌더 홈페이지에 접속합니다. (https://i.kakao.com/)

 

2. 로그인 후, 내 챗봇을 클릭합니다.

 

3. 챗봇 만들기 버튼을 클릭하고, 새로운 챗봇을 생성합니다.

 

4. 챗봇 이름, 설명, 이미지 등을 입력하고 저장합니다.

 

5. 생성된 챗봇을 선택하고, 기본설정을 클릭합니다.

 

6. 카카오 플러스친구를 설정합니다.

 

7. 인터페이스를 구성합니다. 메뉴를 추가하거나 기본 응답, 사용자 정의 응답을 설정합니다.

 

8. 빌드를 클릭하여 챗봇을 빌드합니다.

 

9. 완성된 챗봇을 테스트하며, 추가적인 개발 및 수정을 진행합니다.

 

참고로, 카카오 i 오픈빌더 계정 만드는 과정에서 일부 개인 인증이 필요한 경우가 있으니 꼭 필요한 인증 과정을 마무리해 주시기 바랍니다.

 

 

 

6. 기본 설정

 

 

 

카카오 i 오픈빌더 홈페이지에 로그인한 뒤, 새로운 프로젝트를 생성합니다. 프로젝트를 생성 하신 후, 좌측 탭에서 설정 아이콘을 클릭하여 프로필 사진, 봇 이름, 소개 등을 작성합니다.

 

다음으로, 봇의 입력 방식을 설정합니다. "빌더"를 선택하면 블록으로 쉽게 대화 흐름을 구성할 수 있습니다. "API"를 선택하면 직접 입력한 API URL을 기반으로 대화 흐름을 구성할 수 있습니다.

 

봇의 대화 흐름을 구성하기 위해 필요한 기본 개념인 "스킬"과 "블록"을 이해해야 합니다. "스킬"은 봇의 주요 기능을 의미하며, "블록"은 스킬 내에서 구성되는 대화 흐름 단위입니다.

 

이제 스킬과 블록을 생성하고, 대화 흐름을 구성해보세요. 대화 흐름을 구성할 때에는, 사용자의 발화에 따라 봇이 어떤 대답을 해야하는지 생각해보는 것이 중요합니다.

 

 

 

7. 트리거 추가

 

 

 

이제 카카오 i 오픈빌더에서 사용자의 발화에 대한 반응을 적절히 할 수 있도록 트리거(trigger)를 추가해보겠습니다.

 

1. 기본 블록 추가하기

 

왼쪽 패널에서 "기본" 카테고리를 선택하고 "텍스트" 블록을 드래그앤드롭으로 대화 영역에 추가합니다. 또한, 이 블록이 사용되는 상황에서 "모르겠어요" 등의 기본 응답이 필요하므로, "추가 응답" 설정에서 "모르겠어요" 응답을 추가해줍니다.

 

2. 트리거 추가하기

 

대화 영역에 추가한 블록을 클릭하여 상세 설정 페이지로 이동합니다. 상세 설정 페이지에서 트리거 설정 버튼을 클릭합니다.

 

3. 사용자 발화 추가하기

 

트리거 추가 페이지에서 "새로운 발화" 버튼을 클릭하여 사용자가 발화할 내용을 추가합니다. 예를 들어 "오늘 날씨 어때?" 라는 발화를 추가하고 싶다면, "오늘 날씨 어때?" 라는 문장을 입력합니다.

 

4. 블록 연결하기

 

발화를 추가한 후에는 해당 발화가 사용자로부터 입력됐을 때 카카오 i 오픈빌더가 어떤 블록을 실행해야 하는지 설정해야 합니다. 발화 추가 페이지에서 "블록 설정" 버튼을 클릭하면 실행할 블록을 선택할 수 있는 팝업이 나타납니다. 여기서 첫 번째로 추가한 "텍스트" 블록을 선택합니다.

 

5. 저장하기

 

트리거와 블록을 모두 연결한 후에는 반드시 "저장" 버튼을 클릭하여 변경사항을 저장합니다. 이제 사용자가 "오늘 날씨 어때?" 라는 발화를 입력했을 때, "텍스트" 블록에서 정의한 상응하는 응답이 나타나게 됩니다.

 

 

 

8. 스킬 추가

 

 

이제 실제로 카카오 i 오픈빌더에서 사용할 스킬을 추가해보겠습니다.

 

1. 좌측 하단의 "스킬 추가" 버튼을 클릭합니다.

 

2. "스킬 이름"을 입력합니다. (예: "간단한 계산기")

 

3. "스킬 ID"를 입력합니다. (예: "simple_calculator")

 

4. "새로운 스킬 생성하기"를 선택합니다.

 

5. "빈 스킬 생성하기"를 선택합니다.

 

6. 스킬 생성이 완료되면, "이동" 버튼을 클릭합니다.

 

이제 스킬이 추가되었으니, 해당 스킬에 대한 설정과 기능을 구현해보겠습니다.

 

 

 

9. 대화 흐름 설정

 

 

 

1) 시나리오 작성

 

챗봇에서는 사용자가 입력하는 내용에 맞는 대답을 출력해야 합니다. 이를 위해서는 먼저 어떤 시나리오를 작성할 지 결정해야 합니다. 예를 들어, 음식점 예약 챗봇의 경우, 사용자가 예약 날짜와 시간, 예약 인원 수, 원하는 좌석 위치 등을 입력하면 그 정보를 바탕으로 예약 완료 여부를 알려주는 대화 흐름이 필요합니다. 따라서 적절한 시나리오를 작성하여 챗봇에 적용해야 합니다.

 

2) 대화 흐름 정의

 

시나리오에 따라 대화 흐름을 결정합니다. 예를 들어, 음식점 예약 챗봇의 경우, 사용자가 예약을 요청하면 챗봇은 예약 가능 여부를 물어봐야 합니다. 따라서 대화 흐름을 다음과 같이 정의할 수 있습니다.

 

A. 사용자: 예약하고 싶어요.

 

B. 챗봇: 예약 가능한 날짜와 시간을 알려주세요.

 

C. 사용자: 내일 7시, 3명 예약하고 싶어요.

 

D. 챗봇: 예약이 완료되었습니다.

 

3) 대화 흐름 구현

 

정의된 대화 흐름을 바탕으로 챗봇을 구현합니다. 카카오 i 오픈빌더에서는 노드(node)를 이용하여 각 대화 흐름을 구현할 수 있습니다. 대화 흐름에 따라 적절한 노드를 선택하고, 필요한 정보를 입력합니다. 예를 들어, 음식점 예약 챗봇에서는 날짜와 시간을 물어보는 노드와 예약 인원 수를 묻는 노드를 사용할 수 있습니다. 이러한 노드들을 연결하여 대화 흐름을 구현합니다.

 

4) 대화 흐름 수정

 

구현된 대화 흐름을 테스트해보고, 사용자와 자연스러운 대화를 할 수 있는지 확인합니다. 만약 대화 흐름에 문제가 있다면, 수정하여 테스트를 반복하면 됩니다. 이 과정을 반복하여 최적의 대화 흐름을 구현합니다.

 

 

 

10. 배포하기

 

 

[10. 배포하기]

 

1. Heroku 계정 만들기

 

- Heroku 사이트에 접속하여 계정을 만든다.

 

- 계정이 만들어지면 Heroku CLI(Command Line Interface)를 다운로드 받는다.

 

- CLI를 활용하여 로그인한다.

 

2. Procfile 파일 생성하기

 

- 프로젝트 폴더 내에 Procfile이라는 파일을 생성한다.

 

- 이 파일 안에는 "web: python app.py"라는 코드를 작성한다.

 

- app.py는 챗봇 서버를 실행하는 파일의 이름으로 바꿔주면 된다.

 

3. requirements.txt 파일 생성하기

 

- 프로젝트 폴더 내에 requirements.txt 파일을 생성한다.

 

- 이 파일 안에는 필요한 라이브러리와 버전을 작성한다.

 

- 예를 들어 Flask와 kakao-sdk를 사용한다면 아래와 같이 작성한다.

 

```

 

Flask==1.0.2

 

Flask-RESTful==0.3.6

 

kakao-sdk==1.0.41

 

```

 

4. Git으로 배포하기

 

- Heroku 계정과 연동하여 Git으로 배포할 수 있다.

 

- 프로젝트 폴더 내에 Git 저장소를 초기화한다.

 

- 이후 Heroku 앱과 연결한 다음 Git push로 배포하면 된다.

 

5. 웹훅 설정하기

 

- Heroku 앱이 배포되면, 카카오 디벨로퍼스에서 웹훅 URL을 Heroku 앱의 주소로 변경해줘야 한다.

 

- 변경할 URL은 Heroku 앱에서 확인 가능하다.

 

6. 테스트하기

 

- Heroku 앱의 주소로 접속하여 챗봇이 정상적으로 동작하는지 테스트한다.

 

7. 문제 해결하기

 

- Heroku 배포 시 문제가 발생하는 경우, Heroku 로그를 확인하여 문제를 해결한다.

 

- Heroku CLI에서 "heroku logs --tail -a {앱 이름}"을 입력하면 로그를 실시간으로 확인 가능하다.

 

8. 유지보수하기

 

- Heroku는 어느 정도 사용량이 적을 때는 무료로 이용할 수 있다.

 

- 하지만 일정 수준 이상의 트래픽이 발생하면 과금이 발생하므로, 유지보수 시에는 트래픽 관리에 주의해야 한다.

 

 

 

11. 마무리

 

 

 

이제 다 왔습니다! 여러분의 카카오 챗봇이 완성되었습니다. 이제 테스트를 해보세요. 카카오톡에서 채팅창을 열어보면 내가 만든 챗봇이 나와있을 거에요. 챗봇에게 말을 걸어보시고, 정상적으로 작동하는지 확인하세요.

 

이 가이드에서는 가장 기본적인 뼈대만 다루었지만, 여러분의 창의력에 따라 다양한 기능을 추가할 수 있습니다. 예를 들어, 디비를 사용하여 정보를 저장하거나, 외부 API를 연결하여 더 많은 기능을 제공하는 것도 가능합니다. 여러분만의 창의적인 아이디어를 잘 발휘해보세요!

 

마지막으로, 이 가이드를 작성한 저도 초보자였기 때문에 미숙한 부분이 많을 수 있습니다. 하지만 여러분이 이 가이드를 보고 챗봇을 만드는 데 도움이 되기를 바랍니다.

 

 

 

댓글