😽

SlackでLLMが応答する簡易botを作成する

2024/10/01に公開

目的

Slack上でLLMから回答がもらえたら便利かなと思って軽く作ってみる。

仕様

  • Slack botを利用
  • Slack botにメンション&質問文を投げることで回答をもらう
  • backendAPIはpython & AWS APIGateway & AWS Lambdaで構築

Difyを使いたかったがSlackBotの仕様上難しかったので今回はLambdaで行う。

以上です。
とりあえず簡単なものを作ります。

構築

バックエンドAPI

API作成はここを参考にしてください。
https://zenn.dev/mkurita/articles/9533acfa90a55a
https://github.com/mk1018/SampleLambdaFunction

これサンプルコード
https://github.com/mk1018/SlackAiBotAPI
https://github.com/mk1018/SlackAiBotAPI/blob/main/function/lambda_function.py

SlackBot作成

アプリの作成

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

Create New App を選択

From scratch を選択

App Nameとworkspaceを入力

アプリの設定

アプリが作成できたら OAuth & Permissions のページから Scopes に以下を設定

  • app_mentions:read
  • chat:write
  • groups:read


Workspaceにインストール

Install to <Workspace名> でインストール

コード側の設定

二つの環境変数を設定する

  • SLACK_BOT_TOKEN
  • SLACK_SIGNING_SECRET

https://github.com/mk1018/SlackAiBotAPI/blob/main/.envrc.example

SLACK_BOT_TOKEN

OAuth & Permissions

SLACK_SIGNING_SECRET

Basic Information

SlackBotの編集

Request URLにAPI Gatewayのエンドポイントをセットしてください。
Verifiedになればおっけーです。

Slackのチャンネルに招待

作ったbotアプリを使いたいチャンネルに追加する

実行

追加したbotにメンションをしてメッセージを投げる

終わり

Discussion