노코드로 복잡한 커스텀 챗봇 만들고 공유하기

🤔 배경 및 목적

요즘엔 프롬프팅만으로 커스텀한 챗봇이 아닌 멀티모달, 문서기반 챗봇에 관심이 많아지고 있죠! 문서를 기반으로 응답하게 하거나, 이미지를 생성하거나, 언어모델끼리 서로 대화하게 하거나 등등등등! 나만의 기술을 붙여서 복잡한 챗봇을 만드는건 개발공부를 해야하나… 하겠지만!

챗지 Studio를 이용해서 노코드로 챗봇을 만들 수 있어요! 노코드로 만든 챗봇은 물론 설정을 파일로 저장하거나 공유할 수 있고, 독립적인 채팅 웹페이지 주소도 발급받을 수 있고, 카카오톡으로도 연동할 수 있습니다!

랭체인에서 구성하는 체인 을 챗지에서는 챗플로우 라고 합니다. 채팅의 템플릿을 구성하고 그걸 또 묶어서 챗플로우를 만들고, 이전대화기억 모듈을 연결하고, 문서데이터도 연결하고, 대화기록을 보관하고, 노코드로 진행해봅시다!

🌀 챗플로우란?

  • 언어모델 (OpenAI, Gemini, Google PaLM, VertexAI, HuggingFace 등)에 전달할 사용자의 질문과 프롬프트를 구성해 실행하는 단위

    • 다양한 구성요소들을 체인 으로 묶어 실행

    • 체인의 종류에 따라 언어모델, 프롬프트 템플릿, 기억요소, 문서, 데이터베이스 등을 연동해 커스텀

    • 실시간 임베딩 또는 사전에 임베딩한 문서데이터베이스도 연동 가능

    • 사용자의 질문에 따라 어떤 기능을 수행할지 판단해 적절한 도구(’오늘 날씨 알려줘?’, ‘서울역 맛집 알려줘’ 등의 질문에 대해 뉴스검색 도구를 사용할지 블로그 검색 도구를 사용할지 판단)를 선택해 질문에 대답하는 기능 또한 에이전트 체인으로 구현

현재 챗지 Studio는 무료입니다!

🛠️ 활용 툴

✨ What’s 챗지(ChatGee)?

챗지는 손쉽게 커스텀 챗봇을 만들 수 있는 서비스 입니다.

챗지에는 총 3개의 기능이 있어요!

🟡 Threads (챗지 소셜플랫폼)

  • 챗지 안의 SNS 기능

    • 커뮤니티를 구성하고 댓글을 주고받을수 있습니다.

  • 챗봇 응답 공유

    • 일반적인 SNS는 물론 챗봇과 응답을 주고 받은 걸 공유하고 커뮤니티를 구성

    • 카카오톡에서 공유한 챗봇의 응답도 공유가능

    검은색 화면의 채팅 스레드 스크린샷

🟢  ChatGee Basic (간단 커스텀 챗봇 제작)

  • 간단한 챗봇을 제작하고 공유하는데 유용해요! API사용 비용은 저희가 지원합니다!

    • 랭체인을 이용한 Basic챗봇 제작

    • OpenAI의 GPTs를 이용한 GPTs 챗봇 제작

    • 챗지 Studio에서 생성한 커스텀 챗봇의 API를 연동해 챗봇 제작

    • 생성한 챗봇은 카카오톡으로 연동 가능

    chatgee 기본 스크린샷

🟣 Studio (고급 커스텀 챗봇 제작)

  • 조금 더 전문적인 챗봇, 홈페이지에 이식할 챗봇을 만들 수 있는 공간입니다.

    • 실제 서버를 점유하고 구성

    • 상상하시는 대로 챗봇을 노코드로 구현

    • 제작한 챗봇은 API를 통해 홈페이지에 이식하거나 독립적인 웹사이트로 구현 가능

    • 제작한 챗봇을 Basic 챗봇과 연동하면 카카오톡으로 연동 가능

🏗️ 실행 과정

1. Studio 알파테스터 신청

  • 챗지 Studio에 접속

    • 챗지 스튜디오 서버를 생성하려면 회원가입과 로그인, 서비스 신청이 필요합니다.

    • 신청은 챗지 스튜디오에서 “신청 바로가기” 또는 왼쪽의 “신청” 탭에서 가능합니다.

      • 신청 승인은 메일로 안내드립니다. 스팸함도 확인해봐주세요!

      chatgee 스튜디오 - 스크린샷 미리보기 이미지
      • 신청이 승인되면 챗지 스튜디오 접속 시 다음과 같은 대상 사용자임을 알리는 메시지가 표시됩니다

2. 챗지 Studio서버 생성

  • 챗지 스튜디오는 각각의 계정이 독립적인 온라인 서버를 할당 받아 구동됩니다.

  • 처음 접속하시면 신청자의 서버가 구성되어 있지 않아 스튜디오 서버를 먼저 생성 후 이용 가능합니다

💡 2주간 서버사용이 없으면 안내 메일을 드립니다. 3주간 서버사용이 없을경우 휴면 상태로 전환되며 다시 생성 후 사용 가능합니다. 이때, 데이터는 모두 보존되어 있습니다.

3. Studio 서버 접속

  • 서버가 생성되면 스튜디오 서버 이동 버튼과 접속 아이디/비밀번호를 확인할 수 있습니다

  • 생성된 서버는 독립적인 접속 URL을 가집니다! 해당 URL을 즐겨찾기해두시면 바로 접속 가능합니다.

4. Studio 기본 템플릿 활용 챗플로우 제작

  • 생성된 스튜디오 서버에 접속하면 왼쪽 탭에 템플릿 이 있습니다. 다양한 챗플로우 템플릿을 제공합니다.

  • 대표적인 템플릿들에 대한 설명은 기초 템플릿 튜토리얼에 있습니다.

5. 단순 언어모델 템플릿 사용해보기

  • 기본 AI챗봇 (ChatGPT나 클로드와 동일)과 단순 언어모델 템플릿이 가장 심플합니다. 이중에서 단순 언어모델을 사용해 챗봇을 만들어 보겠습니다.

  • 템플릿 중 단순 언어모델 템플릿을 클릭하고 우측 상단에 템플릿 사용 클릭 후 챗봇 이름을 입력하고 저장합니다. 여기서는 제품 회사명 추천기로 하겠습니다.

  • 이때 인터페이스 설명은 아래 그림을 참조해주세요

한국어와 중국어 텍스트가 포함된 웹페이지 스크린샷
한국어 텍스트가 포함된 한국어 앱의 스크린샷

  • 단순 언어모델 템플릿은 🤖 반복되는 프롬프트에 대해 프롬프트 템플릿을 이용해 커스텀 챗봇을 구현합니다.

    • 사용자의 입력에 대해 반복적으로 사용될 프롬프트를 템플릿으로 구성

    • 예시 : 제품에 어울리는 회사명

      • 제품명을 입력하면 어울리는 회사 이름을 추천해 주는 일반 언어모델을 이용한 일반응답 체인

  • 단순 언어모델 템플릿 구성요소 설명은 다음과 같습니다.

    • 일반응답 체인(가장 오른쪽에 위치한 노드)

      • 언어모델과 프롬프트 템플릿을 이용해 원하는 역할을 수행하는 체인을 구성합니다.

    • OpenAI일반 언어모델

      • 연결 자격증명에서 OpenAI API키를 연동합니다.

      • OpenAI 언어모델 중 원하는 것을 선택해주세요.

      • OpenAI API키를 발급받는 방법은

    • 일반응답 프롬프트 템플릿

      • 프롬프트 변수 설정

        • 프롬프트 변수 설정 입력값

          {
            product : "{{question}}"
          }
          • 시스템 프롬프트를 설정하며 변수로 입력할 값은 {} 괄호로 변수명을 입력합니다.

          • 현재 {product}가 변수로 설정되어 있으며 이 변수에 넣을 값은 프롬프트 변수 설정에서 수정 가능합니다.

          • 변수 설정 값을 확인하면 product에는 {{question}}이 입력되어 있습니다. question은 언어모델 체인의 기본 변수로 사용자가 입력한 말을 의미합니다.

          • 전체적인 흐름

            • 사용자가 한 말 → question 변수에 입력 (언어모델 체인 기본 변수) → 프롬프트 템플릿 {product} 변수에 입력

6. 📦 챗플로우 외부저장 및 공유

  • 작성한 챗플로우는 복제하기, 내보내기가 가능하며 JSON 파일의 형식으로 저장됩니다. 타인 또는 다른 챗지스튜디오에서 불러오기로 사용 가능합니다

    💡 내보내기 저장 시, 모든 자격증명 키들은 제거됩니다

한국어 애플리케이션 스크린샷

7. 🔬챗플로우 대화기록 및 사용량 분석

  • 챗플로우를 이용한 대화는 모두 대화기록에 기록되며 열람하고 저장할 수 있습니다.

    • 대화기록은 소스가 UIAPI/Embed 로 구분되며 챗지 스튜디오 내에서 테스트한 대화내용은 UI 로 저장되며 외부 홈페이지에 연동 또는 Basic챗봇연동, 카카오톡 연동을 통해 사용된 대화기록은 API/Embed 로 기록됩니다.

    • 내보내기를 통해 JSON 파일형식으로 다운로드 가능합니다.

  • 사용량 분석도구와 연동해 해당 챗플로우의 사용량을 분석할 수 있습니다.

    • 사용량이란, API비용 분석 등을 의미합니다

    • 현재 LangFuse 를 지원하고 있습니다.

8. 생성한 챗봇 공유, 접속 웹페이지 주소

  • 각 챗플로우 별 외부연동을 위한 정보는 우측 상단의 </> 버튼을 클릭해 확인 가능합니다.

    • 웹챗봇 공유 텝에서 접속주소를 확인할 수 있으며, 채팅창을 설정할 수 있습니다. 공개전환을 하면 아무나 사용 가능한 상태가 됩니다.

    • 웹챗봇 말고도 HTML로 자신의 홈페이지에 버튼으로 이식하거나 API를 이용해 본인의 코드에서 사용 가능합니다.

9. 카카오톡으로 연동

💡 스튜디오에서 생성한 챗플로우는 챗지의 Basic챗봇과 연동이 가능합니다.

해당 챗지 스튜디오 챗플로우의 API Endpoint확인

  • 해당 챗플로우의 외부공유 정보보기에서 API Endpoint 주소를 확인합니다

  • 챗지 Basic에서 + Studio 챗봇 생성에서 API Endpoint를 입력합니다.

  • 생성된 Basic 챗봇은 이전 포스팅인 커스텀 챗봇 카카오톡으로 공개하기과 동일한 방법으로 카카오톡으로 연동 가능합니다.

🔊 결과 및 인사이트

  • 복잡한 기능을 하는 챗봇을 노코드로 만들고 그것을 공개(개별 홈페이지, 카카오톡)하고 공유하는 방법을 소개드렸습니다. 예제는 심플하지만, 다양한 템플릿이 준비되어있습니다 :) 챗지(ChatGee)를 이용하시면 편리합니다!

📜 이전 포스트

📣 향후 예정 포스트

  • 챗지 Studio를 이용한 상품정보 기반 응답 챗봇 제작

  • 챗지 Studio를 이용한 웹사이트 크롤링, 참고문서 타입(PDF, TEXT, WORD) 별 자동 정리

  • 챗지 Studio와 Make를 이용한 실시간 상품정보 기반 응답 챗봇 제작

2
8개의 답글

👉 이 게시글도 읽어보세요