Slack과 대화하는 샘플 웹 앱

사용자의 지식을 Rememberizer에 대한 쿼리를 통해 LLM과 통합하는 간단한 웹 애플리케이션을 만드는 것은 매우 쉽습니다.

이 앱의 소스 코드는 여기에서 찾을 수 있습니다.

이 섹션에서는 단계별 지시사항 및 전체 소스 코드를 제공하여 빠르게 자신의 애플리케이션을 만들 수 있도록 도와드리겠습니다.

우리는 OpenAI에서 Talk-to-Slack GPT를 만들었습니다. Talk-to-Slack 웹 앱 역시 매우 비슷합니다.

헤로쿠에서 Rememberizer가 만든 Talk-to-Slack.com 웹 앱
OpenAI에서 Rememberizer가 만든 Talk-to-Slack GPT

소개

이 가이드에서는 당사의 Talk-to-Slack GPT 통합과 Rememberizer.ai을 닮은 창작 어플리케이션을 만들기 위해 단계별 지침과 전체 소스 코드를 제공합니다. Slack 통합과는 다르게, 웹 앱은 웹 스크래핑, 로컬 데이터베이스 접근, 그래픽 및 애니메이션, 결제 수집 등의 추가 기능과 더 많은 제어를 제공합니다. 더불어, 프리미엄 genAI 계정이 필요 없는 누구나 이용 가능합니다.

개요

예시 애플리케이션인 'Talk to Slack'은 Heroku에서 호스팅되며 OpenAI의 LLM과 Rememberizer.ai를 통합하여 여러분의 Slack 경험을 향상시킵니다. 이 웹 애플리케이션은 Flask를 이용하여 구축되었으며 OAuth2 통합, Slack 데이터 액세스, 직관적인 사용자 인터페이스와 같은 기능을 제공합니다.

기능

  • 플라스크 기반 아키텍처: 백엔드 작업, 프론트엔드 통신, API 상호 작용이 Flask에 의해 처리됩니다.

  • OAuth2 통합: Rememberizer의 OAuth2 플로우를 사용하여 안전한 인증 및 데이터 접근을 합니다.

  • 슬랙 데이터 접근: Rememberizer의 API를 사용하여 사용자가 연결한 슬랙 데이터를 안전하게 가져옵니다.

  • OpenAI LLM 통합: OpenAI의 LLM 서비스로 쿼리를 처리하여 깊이 있는 응답을 합니다.

  • 직관적인 사용자 인터페이스: 현대적인 UI 디자인을 통해 쉬운 탐색 및 상호 작용을 가능하게 합니다.

  • 최고의 관행: 보안 및 사용자 체험 표준을 준수하여 원활한 통합을 지향합니다.

설정 및 배

사전 요구 사항

  • Python

  • Flask

[LLM이 이 전체 응용 프로그램을 다른 언어로, 우리의 경우는 Golang으로 재작성하는 것은 그다지 어렵지 않았다는 점을 기억하십시오. 따라서 Python으로만 국한되지 않는다는 것을 염두에 두십시오]

환경 구성

다음의 환경 변수를 설정하세요:

  • APP_SECRET_KEY: Flask를 위한 고유한 비밀키.

  • REMEMBERIZER_CLIENT_ID: Rememberizer 애플리케이션을 위한 클라이언트 ID.

  • REMEMBERIZER_CLIENT_SECRET: Rememberizer 애플리케이션을 위한 클라이언트 비밀키.

  • OPENAI_API_KEY: 당신의 OpenAI API 키.

애플리케이션 실행하기

  1. 플라스크 앱 시작: 터미널에서 flask run 을 실행하고 http://localhost:5000 에서 앱에 액세스합니다.

[테스트 및 개발용]

클라우드에 배포하기

Heroku, Google Cloud Platform (GCP), Amazon Web Services (AWS), 또는 Microsoft Azure와 같은 플랫폼으로의 배포를 권장합니다.

Heroku 배포

  1. Heroku 계정 만들기: Heroku CLI를 설치합니다.

  2. 애플리케이션 준비: Procfile, runtime.txt, requirements.txt가 있는지 확인합니다.

  3. 배포: 배포에는 Heroku CLI 또는 GitHub 통합을 사용합니다.

자세한 단계

  • Heroku를 GitHub에 연결: GitHub 저장소에서 자동 배포를 활성화하여 매끄러운 업데이트를 가능케 합니다.

  • 수동으로 배포: 필요에 따라 수동 배포를 사용하여 더 많은 제어를 가능케 합니다.

추가 설정

  • Heroku CLI 설치: brew tap heroku/brew && brew install heroku (macOS).

  • SSL 인증서 추가: 초기 HTTPS 설정에 자체 서명 인증서를 사용합니다.

    • 공식 유료 인증서는 생산 환경에서 확실히 가는 길이지만, 이후 빠르고 저렴하게 테스트하기 위해 이를 무료로 할 수 있습니다.

  • Heroku에서 환경 변수 구성: 필수 키에 대해 heroku config:set KEY=value를 사용합니다.

다른 클라우드 플랫폼

  • GCP: GCP 계정을 설정하고, app.yaml을 사용하여 앱을 준비하고, gcloud app deploy를 사용하여 배포합니다.

  • AWS: AWS 계정과 AWS CLI를 설정한 후 Elastic Beanstalk를 사용하여 배포합니다.

  • Azure: Azure 계정을 만들고 Azure CLI를 설치한 후 Azure App Service를 통해 배포합니다.

보안 및 모범 사례

배포 전에 requirements.txt를 확인하고, 설정을 생산 환경에 맞게 조정하며, OAuth 리다이렉트 URI를 업데이트합니다.

requirements.txt

Flask==3.0.2
requests==2.31.0
gunicorn==21.2.0
openai==1.14.0
pytest==8.1.1

애플리케이션 코드 개요

다음은 애플리케이션의 주요 경로에 대한 간략한 개요입니다:

  • @app.route('/') (인덱스 경로): 애플리케이션의 홈페이지를 렌더링합니다.

  • @app.route('/auth/rememberizer') (Rememberizer 인증 경로): Rememberizer.ai와의 OAuth2 인증 프로세스를 시작합니다.

  • @app.route('/auth/rememberizer/callback') (Rememberizer 콜백 경로): 사용자 인증 후 Rememberizer.ai로부터의 콜백을 처리합니다.

  • @app.route('/dashboard') (대시보드 경로): 사용자에게 대시보드 페이지를 표시합니다.

  • @app.route('/slack-info') (슬랙 통합 정보 경로): 사용자의 Rememberizer.ai와의 슬랙 통합에 대한 정보를 보여줍니다.

  • @app.route('/ask', methods=['POST']) (질문 경로): 사용자로부터의 질문 제출을 처리하고 OpenAI의 GPT-4 모델을 사용하여 답변을 생성합니다.

추가 사항

  • 아이콘 삽화 : 디테일한 접지 종이 예술 스타일로 디자인되었습니다. 이는 AI 와 통신 통합을 반영합니다. 아이콘은 Midjourney와 Image2Icon에서 생성되었습니다.

  • SSL 구성 : OpenSSL을 사용하여 자체 서명된 인증서를 생성하고, 보안 통신을 위해 사용됩니다.

탐색하고 혁신하십시오

우리는 플랫폼 내의 생산성과 협업을 향상시키기 위한 목표로 자신만의 AI 통합 웹 앱을 가지고 탐색하고 혁신하는 것을 장려합니다.


이 수정된 문서는 개발자들이 Slack-대화와 유사한 자신만의 AI 통합 웹 앱을 만드는 것에 대한 포괄적인 가이드를 제공합니다. 이 가이드는 설정, 배포, 애플리케이션 코드 개요에 대한 자세한 지침을 포함하며, 최선의

Last updated