Profile picture

[Python] Slack x GPT로 나만의 챗봇 만들기

JaehyoJJAng2023년 08월 17일

▶︎ 개요

  • gpt-3.5-turbo 기반의 API를 사용하여 나만의 챗봇 구축하기
  • 스레드에서 최대 5개의 대화 히스토리를 추적하여 답변을 생성.

▶︎ 사전 준비

해당 과정을 수행하기 위해 아래 내용이 준비되어야 한다.


▶︎ Slack Bot 설정

슬랙 봇을 구성하기 위한 챕터이다.

봇은 https://api.slack.com/에서 생성이 가능하다.


‣ Slack App 생성

Slack New APP로 들어가서 APP 생성
image


‣ App 권한 설정

1. OAuth & Permission 로 이동
image


2. Scopes 에 다음 권한 추가
image

  • chat:write
  • channels:history
  • groups:history
  • im:history
  • mpim:history
  • app_mentions:read

3. Install to WorkSpace

OAuth & Permission 메뉴의 최상단으로 넘어가서 Install To WorkSpace 클릭

그러면 아래와 같이 OAuth Tokens for Your Workspace 항목에서 Bot User Oauth Token이 생성되는 것을 확인할 수 있다.
image
발급 받은 토큰은 환경변수 파일에 넣어놓고, .gitignore 에 해당 파일을 등록해 깃허브에 올라가지 않도록 주의하자.


▶︎ 소스 코드

git clone https://github.com/JaehyoJJAng/Slack-Bot

▶︎ Channel ID 추출

  1. Slack API TEST 사이트 접속
  2. Or,provide your own token: 칸에 발급받은 TOKEN 기입

image
image
output으로 나온 JSON 데이터에서 원하는 채널의 ID를 가져와 환경변수에 기록.


▶︎ 트러블슈팅

프로그램 실행 도중 { "ok": false, "error": "not_in_channel" } 오류가 발생

  • gpt-channel 채널에 gpt 앱 추가해주면 해결

image

▶︎ 실행 결과

image
클라우드 환경에서 24시간 동작하게끔 배포하면 좋을 듯

추후에 서버리스 배우면 해당 프로젝트 적용해 보는 게 좋을 것 같음


Loading script...