Kakao i Cloud 기반 챗봇 시스템 구축 예제

Kakao i Cloud 기반 챗봇 시스템 구축 예제

고객 상담 자동화, 예약 처리, 마케팅 응답 등 다양한 분야에서 챗봇(Chatbot)**은 이제 필수적인 서비스로 자리 잡았습니다. 카카오 i Cloud는 자체 AI 플랫폼인 Kakao i Open Builder와 함께 클라우드 인프라, 데이터 저장소, 인증 서비스까지 통합 제공하여, 엔드투엔드 챗봇 시스템을 손쉽게 구축할 수 있게 해줍니다.

이번 포스팅에서는 Kakao i Cloud 기반 챗봇 시스템 구축 예제를 중심으로, 실제 구현에 필요한 절차와 설정, 연동 방법을 순서대로 설명합니다.


✅ Kakao i 챗봇 시스템 구성 개요

전체 챗봇 아키텍처는 다음과 같은 구성으로 이루어집니다.

[사용자 카카오톡] ←→ [Kakao i Open Builder] ←→ [Webhook 서버(API)] ←→ [DB/AI 서비스]
                                           ↑
                             [챗봇 시나리오 관리 및 템플릿]
구성 요소역할
Open Builder챗봇 시나리오 설계 및 배포 플랫폼
Webhook 서버사용자 입력 처리 및 응답 생성 (API 서버)
DB 서비스사용자 정보, 예약 데이터 등 저장
AI 서비스자연어 처리(NLU), 음성 합성(TTS), 검색 등 추가 기능
인증 API사용자 인증(예: 휴대폰 인증, 카카오계정 연동 등)

✅ 1단계: Kakao i Open Builder에서 챗봇 만들기

Kakao i Open Builder는 카카오에서 제공하는 챗봇 시나리오 설계 도구입니다. GUI 기반으로 구성되어 있어 비개발자도 쉽게 챗봇을 만들 수 있습니다.

📍 Open Builder 접속 및 챗봇 프로젝트 생성

  1. https://i.kakao.com 접속
  2. 로그인 → ‘새 챗봇 만들기’
  3. 챗봇 이름, 설명, 프로필 이미지 등록
  4. 템플릿 선택 또는 빈 챗봇으로 시작

📍 시나리오 구성

  • 발화 등록: 사용자의 입력 예상 문장 입력
    • 예: “예약하고 싶어요”, “진료 예약”, “몇 시에 가능해요?”
  • 응답 설정: 텍스트, 버튼, 이미지 등 다양한 응답 방식 지원
  • 스킬 연결: 복잡한 로직 처리를 위해 Webhook API 호출 설정

✅ 2단계: Webhook 서버(API 서버) 만들기

Webhook 스킬은 챗봇에서 외부 서버에 HTTP 요청을 보내고, 응답값을 받아 사용자에게 전달하는 구조입니다.

📍 API 스펙

  • Method: POST
  • Content-Type: application/json
  • 요청 바디 예시:
{
  "userRequest": {
    "utterance": "예약하고 싶어요"
  },
  "bot": {
    "id": "bot123",
    "name": "병원예약봇"
  }
}
  • 응답 예시:
{
  "version": "2.0",
  "template": {
    "outputs": [
      {
        "simpleText": {
          "text": "예약을 도와드릴게요! 원하시는 날짜를 말씀해주세요."
        }
      }
    ]
  }
}

📍 Kakao i Cloud에서 서버 만들기

  1. Compute > Server 생성
    • OS: Ubuntu 20.04
    • 인스턴스 타입: t2.small 이상
    • 퍼블릭 IP 부여
  2. 보안 그룹 설정
    • 포트 80 (HTTP) 또는 443 (HTTPS) 열기
  3. Node.js / Flask / Spring 등으로 API 서버 구축
    • Flask 예제:
from flask import Flask, request, jsonify
app = Flask(__name__)

@app.route("/chat", methods=["POST"])
def chat():
    data = request.json
    user_input = data['userRequest']['utterance']
    reply = f"'{user_input}'에 대해 처리 중입니다. 잠시만요!"
    return jsonify({
        "version": "2.0",
        "template": {
            "outputs": [
                {"simpleText": {"text": reply}}
            ]
        }
    })

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80)

✅ 3단계: 챗봇과 API 연동 (Webhook 스킬 연결)

  1. Open Builder > 스킬 탭 > 외부 호출 스킬 추가
  2. 호출 URL: http://{서버IP}/chat
  3. 테스트 실행 → 챗봇 시나리오에서 Webhook 응답 수신 확인

✅ 4단계: DB + 인증 서비스 연동 (고급 기능)

📍 DB 연동

  • Kakao i Cloud에서 Database 서비스(MariaDB, PostgreSQL 등) 생성
  • 예약/사용자 데이터 저장
  • API 서버 내에서 SQL 쿼리 처리

📍 인증 서비스 연동

  • Kakao i Cloud SSO 또는 외부 인증 API 호출
  • 사용 예:
    • 예약 시 휴대폰 번호 인증
    • 로그인 기반 챗봇 응답 분기 처리

✅ 5단계: 배포 및 운영

  • 챗봇 배포 > 카카오톡 채널 연결 → 채널 구독자와 대화 가능
  • 로그 확인 > 대화 흐름 분석, 이탈률 분석
  • 서버 상태 모니터링 > Kakao i Cloud의 모니터링 메뉴 활용

✅ Q&A

Q. Kakao i Open Builder는 무료인가요?
→ 예, Open Builder는 무료로 제공되며, 챗봇 개수나 발화 수에도 제한이 없습니다. 단, Webhook 서버 및 DB, 인증 서비스는 Kakao i Cloud 과금 기준이 적용됩니다.


Q. 카카오톡 외에 웹이나 앱에서도 챗봇을 쓸 수 있나요?
→ 기본 Open Builder는 카카오톡 기반 챗봇에 최적화되어 있으며, 다른 플랫폼에 연동하려면 별도 UI와 API 연동 개발이 필요합니다.


Q. 챗봇에서 AI 기능도 사용할 수 있나요?
→ 가능합니다. Kakao i Cloud는 자연어 처리(NLU), 음성 합성(TTS), 이미지 분석 등의 AI API를 제공하며, 이를 Webhook API 내부에서 호출하여 챗봇 응답에 활용할 수 있습니다.

예: 사용자의 문의를 카테고리별로 자동 분류하고, FAQ 추천하기


✅ 요약 정리

구성 요소설정 방법
Open Builder챗봇 시나리오 설계 및 스킬 정의
Webhook 서버카카오 클라우드 인스턴스 + Flask API
DB 연동MariaDB / PostgreSQL 사용
인증SSO 또는 외부 인증 API
배포카카오톡 채널 연결 + 테스트 배포
확장AI API, TTS, 검색 연동 등 활용 가능

결론
Kakao i Cloud 기반 챗봇 시스템 구축 예제를 따라 하면, 카카오톡에서 작동하는 실전형 챗봇을 단시간 내에 완성할 수 있습니다. GUI 기반의 챗봇 설계 도구(Open Builder)와 유연한 Webhook 서버, 확장 가능한 클라우드 인프라를 조합하면 누구나 실용적이고 강력한 챗봇 서비스를 만들 수 있습니다. AI 연동이나 인증, DB 처리까지 결합하여 여러분만의 스마트 챗봇을 지금 시작해보세요.