できるだけローコスト且つノーコードで、SlackにAI ChatBotを連携する

AITPの今井です。
今回はできるだけ簡単(ほぼノーコード)+ローコストでAIChatbotをSlackに導入・連携してみたいと言うポストです。

n番煎じのタイトルにはなってしまいますが、あえてSlackAPIやAWS Lambda、API Gatewayなどを使用せず、ブラウザコンソールだけでセットアップが住むパターンとしてご紹介したいと思います。

必要なもの

  • AWSアカウント (OpenAIアカウント)
  • AWS IAMのちょっとした知識
    • 良く分からなくても、とりあえずこれでOK!な設定パターンを記載します。
  • Slack管理者権限
  • Amazon Bedrockのコスト理解 https://aws.amazon.com/jp/bedrock/pricing/

今回は、Amazon Bedrock を利用するパターンをメインに記載しますが、後述する連携アプリはChatGPTなど様々な言語モデルに対応しています。

AWS側のセットアップ

Amazon Bedrockの利用を開始する

AWSマネージメントコンソールより、Amazon Bedrockにアクセスします。

Amazon Bedrockを利用するには、各言語モデルへのアクセスリクエストが必要となります。
以下画面の右上にある モデルアクセスを管理 より申請します。

ここで一点、注意が必要です。
(2024/02/12時点)今回のやり方ですと、東京リージョンでは今回利用予定の Anthropic Claude v2 とのSlack連携が上手くできず、v1 のみとなっています。
より高性能なv2を利用したい場合には、us-east1 バージニアリージョン 等での申請を行いましょう。

申請後、問題がなければ数分で利用できるようになっているはずですので、Anthropic にチェックを入れて利用を開始しましょう。

ログ設定(必要に応じて)

Amazon BedrockのAPIログを管理したい場合には、Bedrockコンソール左メニューにある 設定 から操作が可能です。

Slack連携用のIAM Userを作成とアクセスキーの設定

ユーザー作成

IAM Userを作成します。
名前は適宜設定しましょう。マネージメントコンソールへのアクセスは不要なのでチェックは外しておきます。

次にポリシー設定です。
今回は別途新しいポリシーを作成するので、直接アタッチするを選択します。

ポリシーを作成 からポリシー作成画面に遷移します。

動作確認が出来ているアクセス許可設定は以下になります(あくまで自己責任でのご利用をお願いします)

  • サービス でBedrockを選択
  • アクション はリストと読み取りを全てチェック
  • リソース は全て このアカウント内のいずれか をチェック。
  • foundation-model については 任意 にチェック。

ポリシーが作成できたら、そのポリシーを選択しステップを進めユーザーを作成します。

アクセスキーの作成

作成したユーザー詳細画面を開き、セキュリティ認証情報 タブを開きます。

ページ中程にアクセスキーのブロックがありますので、アクセスキーを作成 からキーの作成を行います。

作成時に表示される、キーシークレットを控えておく or csvでダウンロードしておくのを忘れないようにしてください。

キーの作成中の注意表示にある通り、アクセスキーの取り扱いは極めて慎重に行いましょう。
本来は、AssumeRole などのよりセキュアな認証を使うべきなのですが、今回は解りやすく最短を目指しますのでこちらの形で進めます。

Slackに連携用アプリの追加

今回は、株式会社リバネスナレッジ様Party on Slack というアプリのお世話になりました。ありがとうございます。

上記のParty on Slackのリンクよりアクセスし、インストールを行います。
詳細丁寧なマニュアルも用意して下さっているので、参考にしてみて下さい。

実際にアプリを操作頂くと解りますが、設定画面にはその他AIモデルとの連携項目に加えてBedrock向けの設定項目が有りますので、そこから先程作成したアクセスキーの情報を入力しましょう。

上記は既に設定済となっていますが、注意点として、 RegionAnthropicの利用申請をしたリージョンと合わせるようにして下さい。

以上で基本設定は完了です!マニュアルにある通り、Slack上でParty on Slackにメンションしてみましょう!
レスポンス時に使う Claude のバージョン指定やその他設定は、上記のマニュアルをご確認下さい。

まとめ

Chatbotにキャラ性を持たせたりする場合、コーディングなどが多少は必要となるケースもありますが、とりあえず最速でSlackにAI Chatbotを連携したい!でもコードはあまり良く解らない!という状況を想定したパターンで書いてみました。

ご参考頂けたら幸いです、閲覧ありがとうございます。

関連するタグ