seratch/ChatGPT-in-Slack
Swift demonstration of how to build a Slack app that enables end-users to interact with a ChatGPT bot
ChatGPT‑in‑Slack
무엇인가요 – OpenAI의 ChatGPT(및 DALL‑E 3)를 직접 Slack에서 사용할 수 있게 해주는 오픈소스 Slack 앱입니다. 채널 스레드, 1:1 DM, 또는 홈탭 모달을 통해 세 가지 방식으로 작동합니다. 봇은 스레드 내부에서 대화의 맥락을 유지하므로, ChatGPT 웹사이트에서처럼 프롬프트를 세밀하게 조정할 수 있습니다.
주요 기능
- 스레드 기반 대화 – 봇을 한 번 언급하면 스레드가 시작되며, 이후 메시지는 자동으로 ChatGPT로 전송되어 맥락이 유지됩니다.
- 개인 DM 지원 – 언급 없이도 봇에게 비공개로 질문할 수 있습니다.
- 홈탭 UI – 모바일에서도 작동하는 문장 검토, 자유형 프롬프트, 이미지 생성(DALL‑E 3)을 위한 빠른 접근 대화 상자 제공.
- 사용자 정의 가능한 OpenAI 설정 – 모델, 온도, 시스템 프롬프트, 언어 번역, 마크다운 변환, 기밀 정보 제거, 이미지 파일 공유 등은 환경 변수를 통해 전환 가능합니다.
- Docker 및 소켓 모드 – 자체 방화벽 뒤에 배포 가능하며, 공개 URL이 필요 없도록 Slack의 소켓 모드를 사용합니다.
- Azure OpenAI 호환성 – 선택적 환경 변수를 통해 앱을 Azure의 OpenAI 엔드포인트로 연결할 수 있습니다.
- 함수 호출 데모 – 테스트 모듈을 통해 OpenAI 함수 호출에 대한 실험적 지원 제공.
로컬에서 실행하는 방법
- 제공된
manifest-dev.yml에서 Slack 앱을 생성하고 워크스페이스에 설치합니다. - 필수 환경 변수(
SLACK_APP_TOKEN,SLACK_BOT_TOKEN,OPENAI_API_KEY)를 설정합니다. 선택적 변수를 통해 모델, 온도 등을 선택할 수 있습니다. - 종속성 설치(
pip install -r requirements.txt) 후 봇 시작(python main.py). - (선택 사항)
.env.example을.env로 복사하고 값을 수정하여 로컬 개발을 더 쉽게 할 수 있습니다.
기업용으로 배포하기
- 제공된
Dockerfile을 빌드합니다. 컨테이너는 소켓 모드에서 실행되므로, Slack과 OpenAI로의 외부 연결만 필요합니다. - 코드는 MIT 라이선스이므로, 자체 인프라에서 호스팅할 수 있어 기밀 데이터가 외부로 유출되지 않도록 보장할 수 있습니다.
일반적인 사용 사례
- 채널 스레드에서 이메일, 보고서, 기타 텍스트를 초안 작성하거나 다듬기.
- 채팅을 떠나지 않고도 DALL‑E 3로 빠르게 이미지 생성하기.
- 협업 중에 즉시 코드 조각, 설명, 아이디어를 브레인스토밍하기.
- 팀원들이 공개 스레드에서 참조할 수 있는 공통의 "AI 어시스턴트" 제공하기.
관련 프로젝트
iwamot/collmbo– LiteLLM를 통해 다른 LLM 제공업체를 지원하는 포크.
라이선스 – MIT.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트