해당 포스팅은 제가 작업한 내용을 기록하기 위한 목적입니다. 설명이 많이 부족할수있는점 참고 부탁드리겠습니다.
주말에 개발을 한번 해보고자 요즘 핫한 ChatGPT를 활용하여 Slack 챗봇을 만들어보기로했다.
일단 해당 챗봇을 만들기 위한 요소들을 나열해보자면
- Python
- slack_sdk
- FastAPI
- AWS EC2 (또는 개인 컴퓨터)
- Docker
등이 될것같다.
먼저 ChatGPT를 사용하기 위해서 OpenAI에 회원가입을 진행한다.
회원가입을 하고 로그인을하면 오른쪽 상단에 프로필 클릭 -> View API keys로 이동한다.
그 다음 OpenAI API를 사용하기 위해서 새로운 Secret Key를 생성하고 해당 Key값을 기록해둔다.
그다음 Slack 챗봇을 사용하기위해서 새로운 앱을 생성해야한다. 아래 사이트로 접속하고 "Create an app"을 클릭한다.
다음으로 "From scratch" 를 클릭해서 내가 원하는 챗봇의 이름을 지정해준다. 필자의 경우 "ChatGPTBot"으로 설정했다.
다음으로는 슬랙봇의 "권한"을 설정해줘야하는데. 슬랙 앱 설정화면에서 "OAuth & Permissions"로 접속하여 아래와같이 설정해준다. 이건 확실하진않지만 일단 대부분의 채팅기능은 다 활성화해준것같다.
그리고 마지막으로 챗봇을 사용하기 위해서 "Bot User OAuth Token"도 기록해준다.
자 이제 기본적으로 사용하는 API들의 토큰들을 발급 및 권한설정을 완료했다.
다음으로는 ChatGPT를 손쉽게 사용하기 위해서 아래와같은 파이썬 코드로 작성한다. 해당코드는 https://github.com/workdd/ChatGPT_with_Slack 해당 github repo를 참고하였다.
# chatgpt.py
# 발급받은 OpenAI API Key 기입
YOUR_API_KEY = ''
def ChatGPT(prompt, API_KEY=YOUR_API_KEY):
# api key 세팅
openai.api_key = API_KEY
# ChatGPT API 호출 및 최신 언어 모델인 text-davinci-003을 가져옴
completion = openai.Completion.create(
engine='text-davinci-003' # 'text-curie-001' # 'text-babbage-001' #'text-ada-001'
, prompt=prompt
, temperature=0.5
, max_tokens=1024
, top_p=1
, frequency_penalty=0
, presence_penalty=0)
return completion['choices'][0]['text']
def main():
# 지문 입력 란
prompt = input("Insert a prompt: ")
print(ChatGPT(prompt).strip())
if __name__ == '__main__':
main()
이후, 추가적인 파이썬 패키지들을 설치해준다.
pip install openai
pip install slack_sdk
여기까지 다했다면 일단 임시로 ChatGPT를 사용해볼수있다. 아래는 사용 예시이다.
'TIL > 개인공부' 카테고리의 다른 글
[Slack] ChatGPT Slack 챗봇 만들기 (3편) (0) | 2023.01.29 |
---|---|
[Slack] ChatGPT Slack 챗봇 만들기 (2편) (0) | 2023.01.29 |
[Python] whl파일 생성시 setup.py install_requires 특정 파일로 install되게끔 설정하는 방법 (0) | 2022.12.08 |
[Shell Script] 인자값 이쁘게(?) 받기 (0) | 2022.11.24 |
[Shell Script] script 실행 시간 제한걸기 (1) | 2022.08.16 |