준프로

[Chat gpt - Slack연동1] - 프로젝트 시작 전 본문

프로그래밍

[Chat gpt - Slack연동1] - 프로젝트 시작 전

jun'sProgramming 2024. 3. 16. 15:12

협업 툴로 자주 사용되는 Slack 을 통해 구성원들과 함께 채널에서 chat gpt 를 사용해보자!

 

전체적인 동작 방식은

1. 슬랙에서 slack bot 을 만들고(얘가 사실상 chat gpt 역할을 하게 함)

2. 슬랙에서 slack bot 에게 질문

3. 질문한 내용을 slack bot 이 chat gpt api 에게 전달

4. slack bot 이 질문에 대한 답을 받고 사용자가 질문한 슬랙 채널에 답변

 

사실상 chat gpt 의 뇌를 가진 slack bot을 만드는 프로젝트라고 할 수 있다.

 

Slack bot API

slack bot api 에서 제공하는 RTM(Real Time Message) client 패키지를 제공하는 legacy slack bot 을 사용했다.

슬랙 채널에 등록되는 실시간 메세지를 추적해 정보를 받아오는 패키지이다.

https://api.slack.com/apps?new_classic_app=1

 

Slack API: Applications | Slack

Your Apps Don't see an app you're looking for? Sign in to another workspace.

api.slack.com

legacy slack bot을 생성할 수 있는 url

 

RTM API 자체가 예전 버전 slack bot 에서만 사용할 수 있어, 일반적으로 slack bot을 만드는 페이지에선 사용할 수 없다. 신규 slack bot에도 RTM Client 를 대체하는 방법이 있는 것 같지만 프로젝트 진행 끝물에 알게 돼서 그냥 leagcy bot을 사용했다. 다음에 시간날 때 바꿔봐야지... 이 글을 보면서 처음부터 시작하시는 분들은 그 쪽으로 찾아보고 하는것도 좋을 것 같다. 있는지 없는지 확실하진 않음.

 

파이썬을 사용해 slack bot이 슬랙 채널에 달리는 메세지를 추적하고 정보를 받아오면 그 정보를 chat gpt API 스펙에 맞게 수정하여 request 하면 끝!

시스템 구성도

서버가 구동됨

-> RTM API 가 슬랙 채널의 메시지를 대기 중인 상태가 됨

-> 채널에 질문이 등록되면 서버에서 정보를 받아오고 필요한 작업을 거쳐 지피티에게 전달

-> 지피티의 응답을 받아 질문이 들어온 곳에 응답 등록