Skip to content

festiva1300/slack-chatbot-lambda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

slack-chatbot-lambda

AWS Lambda で動作する ChatGPT モデルを使用した Slack Bot

動作環境

  • AWS CLI 2.11
  • python 3.9
  • Serverless Framework 3.29

デプロイ手順

必要なもの

  • デプロイするAWSアカウント
  • Slact アプリおよび以下の情報
    • Bot User OAuth Token
    • Signing Secret
  • OpenAIの API KEY

デプロイ手順

新規にSlackアプリを作成します。App Manifestには以下の内容を設定します。 urlは後の手順で変更します。

display_information:
  name: lambda-chatbot-app
features:
  bot_user:
    display_name: chatbot
    always_online: true
oauth_config:
  scopes:
    bot:
      - chat:write
      - chat:write.public
      - app_mentions:read
      - channels:history
settings:
  event_subscriptions:
    request_url: https://example.execute-api.us-east-1.amazonaws.com/slack/events
    bot_events:
      - app_mention
      - message.channels
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false

アプリが作成できたらBot User OAuth TokenおよびSigning Secretをメモしておきます。

依存モジュールをインストールします。

$ sls plugin install -n serverless-python-requirements

環境変数にSlackのBot User OAuth Token、Signing Secretおよび OpenAIのAPI Keyを設定します。

環境変数にする内容を.envファイルに記載します。

.env

SLACK_SIGNING_SECRET=9999999...
SLACK_BOT_TOKEN=xoxb-xxxxx....
OPENAI_API_KEY=xx-xxxxx....

アプリケーションをデプロイします。

$ sls deploy

生成されたendpointのURLを、SlackアプリのApp ManifestのURLに設定し、アプリをインストールしなおします。

実行方法

slackのチャンネルなどで、botにメンションを付けて質問などを行います

@chatbot 質問内容

About

SlackからOpenAI APIを呼び出すアプリをAWS Lambdaにデプロイする

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages