최종수정일:
챗봇빌더 사용설명서
오픈소스 AI 카톡 챗봇 빌더
오픈소스 카카오톡 AI 챗봇 챗지 빌더 🥳🎉
오프라인 워크숍 바로가기 : AI 챗봇 개발 워크숍
클라우드 AI 카카오톡 챗봇 : ChatGee.ai를 이용하시면 간단히 나만의 카카오톡 AI 챗봇을 만들어보실 수 있습니다
- 챗지 챗봇의 성격, 역할, 내용을 프롬프트로 직접 디자인 가능🎉🎉
 - 내용 기입, 실행파일 실행, 챗봇 설정만으로 코딩 몰라도 가능🎉🎉
 - 기본 포함기능
    
- 사용설명서 카드페이지 표시 
📓 사용설명서 - 대화내용 삭제 기능 
💫 새로운 시작 
 - 사용설명서 카드페이지 표시 
 - 카카오톡 채널이 요구하는 5초내 응답조건 대응
    
- 5초 내 응답하지 못하면 ‘생각중’이라는 답을 우선 송신
 - 사용자가 다시 요청 시, DB에 저장된 답변을 송신
 
 - ChatGPTers의 AI 챗봇 개발실과 함께합니다
 
카카오톡 AI챗봇 활성화에 최대 3일 정도 소요됩니다. 채널 신설과 챗봇 등록을 우선 수행해 두시기 바랍니다! 최신버전의 설명서는 ChatGee.ai 카카오톡 챗봇연동을 참고해 주시기 바랍니다.
개발 예제
| 벤치마크 | 성경공부 | 상품소개 | 
|---|---|---|
![]()  | 
      ![]()  | 
      ![]()  | 
    
| 카톡링크 | 카톡링크 | 카톡링크 | 
설치방법
- 초급자용
    
- 윈도우 Batch 실행 파일 
ChatGee_Win - MacOS Shell 실행 파일 
ChatGee_Mac 
 - 윈도우 Batch 실행 파일 
 - 개발자용 : Flask 앱 
chatgee/run_server.pysettings.yaml에서 챗지 성격, 역할, 내용 디자인- Flask 내 Threading/Queue 그대로 
uwsgi사용가능 
 
초급자용 설치방법
- 설치순서
 
1. 소스코드 다운로드
- ChatGee(챗지) Github 레포지토리에서 최신 릴리즈 다운로드
    
- 최신 릴리즈 다운로드 링크
 - 파일 두개 중, 위의 것 (
Source Code.zip)을 다운로드 - 다운로드 하면 
ChatGee-XX.zip(XX는 버전)이 다운로드 되며, 원하는 곳에 압축을 풀고 다음 단계를 진행 
 
2. 파이썬 설치
- 윈도우 사용자 (맥 사용자는 아래 참조)
    
- 압축을 푼 
ChatGee-XX.zip(XX는 버전) 폴더에 파이썬 설치파일이 동봉되어 있음 - 동봉된 
python-3.10.10.exe또는 직접 파이썬 홈페이지에서 3.10.10 설치파일을 받아 설치 - (주의사항!!) 아래 스크린샷과 같이 아래 
Add python.exe to PATH클릭 필수!- ADD PATH는 파이썬이 어느곳에서든지 실행되도록 설정하는 내용

 
 - ADD PATH는 파이썬이 어느곳에서든지 실행되도록 설정하는 내용
 - 혹시 이미 파이썬이 설치되어 있어서 업그레이드 하거나 위 창을 만나지 못하는 경우, 파이썬이 잘 설치되어 있는지 확인하기 위해 윈도우 시작버튼을 누른 후 
cmd를 검색해서 검은 창을 실행하고python --version을 입력하여 파이썬 버전이 3.10.10이 나오는지 확인- 만약 오류가 있다면, Python 설치파일을 실행하여 삭제 후 다시 설치 진행
 
 
 - 압축을 푼 
 - Mac 사용자
    
- 다음 링크를 참고하여 파이썬 설치
        
- 맥용 파이썬 3.10.10 설치파일
 - 설치 후,  
Terminal앱에서python --version을 입력하여 파이썬 버전이 3.10.10이 나오는지 확인 
 
 - 다음 링크를 참고하여 파이썬 설치
        
 
3. Settings.yaml 설정
ChatGee-XX.zip(XX는 버전) 폴더에Settings파일이 있음Settings파일을 열고, 아래 항목을 설정메모장(윈도우) 또는TextEdit(맥) 원하는 편집 프로그램으로 열어서 아래 항목을 설정연결 프로그램에서메모장(윈도우) 또는TextEdit(맥) 을 선택하면 메모장으로 열림
- 필수 설정 항목
    
- Ngrok Key
        
- Ngrok를 이용하면 고정아이피가 없는 상태에서도 외부에서 접속 가능
 - Ngrok 홈페이지에서 회원가입 후 로그인
 get-started > your-authtoken에서authtoken을 복사하여Settings.yaml > NGROK > YOUR_NGROK_TOKEN에 붙여넣기
 - OpenAI API Key
        
- ChatGPT를 이용하기 위해서는 OpenAI의 API Key가 필요. API Key는 무료계정도 받을 수 있으며 최초 2만원 상당의 사용 쿠폰을 제공함
            
- OpenAI API Key 발급에서 OpenAI계정을 생성하고 로그인 하면 API Key를 발급받을 수 있음
 - API Keys 화면에서 
+ Create new secret key를 눌러서 API Key를 발급받음 - 발급되면 자동으로 클립보드에 복사되므로 다시 
Settings에 붙여넣기 - 만약 복붙에 실패하셨다면, 기존 API Key 를 삭제 후 재발급
 
 Settings.yaml > OPEN_AI > YOUR_OPEN_AI_API_KEY에 본인의 API Key를 입력- OpenAI 가입 후 API Key를 발급받아 입력하며 됩니다. 
sk-복잡한영문키의 형태 
 - ChatGPT를 이용하기 위해서는 OpenAI의 API Key가 필요. API Key는 무료계정도 받을 수 있으며 최초 2만원 상당의 사용 쿠폰을 제공함
            
 - 챗지 챗봇의 성격, 역학 내용을 정하는 시스템 프롬프트
        
settings.yaml > SETTINGS > SYSTEM_PROMPT에 챗지 챗봇을 정의하는 설명 기입- 한글로도 기입가능하지만 영문일 때 컨트롤이 더 잘됨
 - 어떤 역할들이 가능한지는 Awsome Prompts를 참고
 - 역할을 부여할 때, 
ChatGee는 무엇무엇을 한다로 정의 - 
                
동본된
SYSTEM_PROMPT는 챗지가 영문번역기가 되도록 정의되어 있음- ChatGee act as an English translator, spelling corrector and improver. - ChatGee translate User's prompt into English. - ChatGee replace simplified A0-level words and sentences with more beautiful and elegant, upper level English words and sentences. - ChatGee keep the meaning same, but make them more literary. - ChatGee only reply the correction, the improvements and nothing else, do not write explanations. - ChatGee doens't answer to User's prompt, but just translate the last User's prompt. - If User prompt in English, ChatGee now act as an Korean translator. - ChatGee doesnt write explanations, but reply only tranlsated texts. 
 - 첫 사용자에게 보여지는 인사말
        
settings.yaml > CONTENTS > GREETINGS에 기입
 - 후원금 링크
        
settings.yaml > CONTENTS > SUPPORT_LINK에 기입- 빈칸으로 두면 후원금 링크는 보여지지 않음
 
 - 사용설명서 두번째 페이지
        
settings.yaml > CONTENTS > EXPLAIN에 기입- 챗지 사용설명서 두번째 페이지에 기입될 내용
 - 기본적인 챗지 사용설명서는 함께 동봉됨
 
 - 광고 또는 주기적 알림 내용
        
settings.yaml > CONTENTS > ADVERTISEMENT에 기입settings.yaml > CONTENTS > ADVERTISEMENT_FREQUENCY에서 정의된 주기로 등장
 - 채널 친구가 아닌 상태에서 사용가능 횟수
        
settings.yaml > SETTINGS > NO_FRIEND_USE_LIMIT에서 정의
 
 - Ngrok Key
        
 
4. ChatGee 실행
- 윈도우 사용자 (맥버전은 아래 참조)
    
- ChatGee의 소스코드에서 
ChatGee_Win실팽파일을 더블클릭으로 실행Windows의 PC 보호와 함께 파란색 창이 뜨면, 표시 내용 중 밑줄이 쳐진추가정보를 클릭 후실행을 클릭- 총 4 단계로 챗지서버를 구동, 중간 단계에서 
Windows Defender 방화벽이 서버로 사용되는것을 확인하는 창이 나타나며 이때액세스 허용을 클릭 - 실행이 완료되면, Ngrok가 발급한 주소가 나타남
            
- 주소가 나타나지 않고 
(4/4) Run ngrok에서 멈춰있다면, 검은cmd창을 종료하고 다시ChatGee_Win을 실행합니다. 
 - 주소가 나타나지 않고 
 - 뭔가 이상하거나 문제가 생기면 이 창을 종료하고 다시 실행
 
 
 - ChatGee의 소스코드에서 
 - MacOS 사용자
    
- 챗지 아이콘으로 되어있는 
ChatGee_Mac파일을 우클릭 후Terminal로 열기로 실행- 실행이 완료되면, Ngrok가 발급한 주소가 나타남
 - 한번 실행 후에는 
ChatGee_Mac파일을 더블클릭으로 실행 가능 
 - 실행파일이 작동안할 경우,
        
Terminal을 실행 후 ChatGee 소스파일 경로로 이동- 폴더로 이동하려면 
cd 폴더명을 사용, 상위 폴더로 이동하려면cd ..을 사용, 현재 폴더의 내용물을 확인하려면ls를 사용 
- 폴더로 이동하려면 
 - ChatGee 소스파일 위치에서 다음 명령어를 실행
            
./ChatGee_Mac.sh 
 
 - 챗지 아이콘으로 되어있는 
 - 챗지 서버 접속
    
- 실행이 완료되면, 
ngrok가 발급한 주소로 접속 https://복잡한-숫자-주소.ngrok-free.app- 동봉된 
Settings의 설정값에서는 챗지가 영문번역기가 되도록 정의되어 있으므로 한글을 입력하면 영문을 답하고, 영문이나 그 외 언어를 입력하면 한글을 대답 - 접속 주소 설명,
            
- 챗지 챗봇의 기본 서버 주소: 
https://복잡한-숫자-주소.ngrok-free.app - 카카오톡 서버와 주고받을 주소: 
https://복잡한-숫자-주소.ngrok-free.app/prompt 
 - 챗지 챗봇의 기본 서버 주소: 
 
- 동봉된 
 
 - 실행이 완료되면, 
 
마지막에 주소가 나오지 않는다면, ngrok 서버의 문제일 수 있음
- 브라우저에서
 localhost:6959/local_test에 접속해서 테스트 (6059는 settings.yaml에서 바꾸지 않았다면 기본포트)
5. /local_test 에서 챗봇 응답내용 테스트
ChatGee실행에서 얻은https://복잡한-숫자-주소.ngrok-free.app/local_test로local_test로 끝나는 주소로 접속- 사용자가 입력할 내용을 빈칸에 입력 후 
Submit을 클릭 또는 엔터를 입력하면, 응답소요시간, 응답내용을 확인 가능 
6. 카카오톡 채널 신설 및 챗봇 등록
카카오톡 챗봇 등록에 시간이 최대 6일 소요됩니다. 카카오톡 채널 신설 및 챗봇 등록을 우선 수행해 두시기 바랍니다!
7. 콜백응답 기능 설정
- 카카오톡 서버의 5초 내 응답 제한
    
- 카카오톡 서버는 5초안에 챗지서버가 응답을 하지 않으면 연결을 끊어버립니다.
 - 기본적인 챗지서버의 설정은 응답이 지연되면 
생각 다했니?를 응답해 사용자가 백그라운드에서 저장된 응답을 받을 수 있도록 구성되어 있습니다. 
 - 카카오톡 콜백응답 기능
    
- 5초 이후에 응답을 보내는 기능이 
콜백응답기능입니다. 해당 기능은 카카오톡측에 직접 메일을 보내 승인을 받아야 합니다. - 콜백기능을 활성화 하시려면 콜백응답 설정을 먼저 수행하시기 바랍니다.
 
 - 5초 이후에 응답을 보내는 기능이 
 - 콜백기능을 활성화 하셨다면,
    
settings.yaml > SETTINGS > CALLBACK를True로 변경합니다.
 
개발자용 사용방법
저도 이번에 처음 Flask, Queue/Threading을 사용한 병렬처리 방법 등 공부하면서 만든 코드여서 기존의 개발자들이 보시면 많이 어렵지 않을 거라고 생각됩니다!
PR은 언제나 환영입니다! 네이버 라인, GPT 4, 다른 AI 모델들을 접목하는 기능이 쉽게 추가될 수 있도록 고려해 작성해 두었습니다!
현재 운영되고 있는 챗지 카카오톡 채널은 본 코드를 베이스로 검색기능, 질문 추천기능 대화모드 설정기능, OCR, 기타기능이 추가된 벤치마크 챗봇입니다. 해당 챗봇은 벤치마크 모델로서 지속가능한 형태로의 최소한의 수익만을 목표로 하며, 기타 다른 광고, 세미나 등으로 본 오픈소스를 키워가면 좋겠다고 생각합니다. 함께 채널을 운영하고 코드를 키워나가실 분은 언제나 환영입니다!
라이센스 정보
BSD 4-Clause "Original" or "Old" License라이센스- 상업적 사용 가능
 - 수정, 배포 가능
 - 다만!, 본 ChatGee 라이브러리가 사용되었음을 모든 광고물 및 수정, 배포, 상업판에 표기 필수
 - 라이센스 정보 확인
 


