ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

SlackとChatGPTを統合する方法

編集済み 4 数か月前 によって ExtremeHow 編集チーム

スラック統合オープンAIワークフロー自動化協力ボットコミュニケーションアプリメッセージング

SlackとChatGPTを統合する方法

翻訳が更新されました 4 数か月前

技術の進歩に伴い、チャットボットや仮想アシスタントは多くの企業や個人のワークフローにおいて不可欠なツールとなっています。世界中のチームや組織で使用されている人気のコミュニケーションプラットフォームであるSlackも、ツールとボットの統合の例外ではありません。この包括的なガイドでは、OpenAIによって開発された強力なAI言語モデルであるChatGPTをSlackに統合する手順を詳しく説明します。このガイドを終えるころには、Slackワークスペース内で直接ChatGPTの機能を活用する方法についての理解が深まるでしょう。

SlackとChatGPTを統合する利点

ChatGPTをSlackと統合する技術的詳細に深く入る前に、そのような統合が提供するさまざまな利点を認識することが重要です。これらの利点には、効率的なコミュニケーション、生産性の向上などがあります:

統合の前提条件

ChatGPTをSlackと統合するには、開発環境をいくつかの前提条件で準備する必要があります:

  1. Slackアカウント: アプリをインストールし、ボットを作成するために必要な権限を持つSlackアカウントとワークスペースにアクセスできることを確認してください。
  2. OpenAI APIキー: ChatGPTと対話するにはOpenAI APIキーが必要です。このキーにより、OpenAIによってホストされているモデルにアクセスできます。
  3. Node.jsの基本的な知識: 簡単な統合を作成するためにNode.jsを使用します。JavaScriptとnpm(Nodeパッケージマネージャー)に精通していると役立ちます。

Slackアプリのビルディングを開始する

最初のステップはSlackアプリの設定です。Slackアプリを通じて、ChatGPTとの対話を含むSlackの機能を拡張することができます。

ステップ1:Slackアプリを作成する

Slackアプリを作成するには、以下の手順に従います:

  1. Slack APIウェブサイトにアクセスします。
  2. "Create New App"をクリックします。
  3. "From scratch"を選択します。新しい統合を作成しているためです。
  4. "App Name"を入力します。アプリの目的を説明する名前を選択します。例えば「ChatGPT Assistant」など。
  5. ChatGPTを統合したいワークスペースを選択します。
  6. "Create App"ボタンをクリックします。

ステップ2:ボットの権限を設定する

アプリを作成した後、ボットに必要な権限を含む基本設定を行う必要があります:

  1. アプリの設定から"OAuth & Permissions"に移動します。
  2. "Scopes"までスクロールし、"Bot Token Scopes"の下にある"Add OAuth Scope"をクリックします。
  3. 以下のスコープを追加します:
    • chat:write - ボットとしてメッセージを送信するため。
    • channels:read - ワークスペースのチャンネルに関する情報を読むため。
    • channels:history - ボットがいるチャンネルのメッセージを読むため。

Node.jsアプリケーションの設定

ChatGPTとSlackの間の統合はNode.jsアプリケーションによって処理され、Slackメッセージを受信し、ChatGPTからの応答を中継する仲介者として機能します。

ステップ1:Node.jsプロジェクトを開始する

ローカルマシンでNode.jsプロジェクトを設定して始めましょう:

mkdir chatgpt-slack-bot
cd chatgpt-slack-bot
npm init -y

これにより、chatgpt-slack-botという名前の新しいディレクトリが作成され、その中で新しいNode.jsプロジェクトが開始されます。

ステップ2:必要なパッケージをインストールする

Slack Bolt SDKやSlackアプリ用Node.js SDK、HTTPリクエスト用のAxiosなどの必要なパッケージをインストールします:

npm install @slack/bolt axios

統合のコーディング

次に、SlackとChatGPTを接続するシンプルなNode.jsスクリプトを書きましょう。

ステップ1:ライブラリをインポートし、環境変数をセットアップする

index.jsというファイルを作成し、必要なライブラリをインポートする以下のコードを追加します:

const { App } = require('@slack/bolt');
const axios = require('axios');
require('dotenv').config();

次に、APIキーやトークンを保存するための.envファイルを作成します:

SLACK_BOT_TOKEN=your-slack-bot-token
SLACK_SIGNING_SECRET=your-slack-signing-secret
OPENAI_API_KEY=your-openai-api-key

ステップ2:Slackアプリを開始する

index.jsファイル内で次のコードを使用してSlackアプリを初期化します:

const app = new App({
    token: process.env.SLACK_BOT_TOKEN,
    signingSecret: process.env.SLACK_SIGNING_SECRET
});

ステップ3:コマンドリスナーを作成する

特定のコマンドが発行されたときにChatGPTからの応答をトリガーするシンプルなリスナーを追加します。単純化のために、メッセージリスナーを使用してみましょう:

app.message(async ({ message, say }) => {
    try {
        if (message.text && message.text.startsWith('!askGPT')) {
            const prompt = message.text.replace('!askGPT', '').trim();
            if (prompt.length > 0) {
                const response = await axios.post('https://api.openai.com/v1/engines/davinci/completions', {
                    prompt: prompt,
                    max_tokens: 150
                }, {
                    headers: {
                        'Authorization': 'Bearer ' + process.env.OPENAI_API_KEY
                    }
                });
                await say(response.data.choices[0].text);
            } else {
                await say('コマンドの後に有効な質問を提供してください。');
            }
        }
    } catch (error) {
        console.error('メッセージの処理中にエラーが発生しました:', error);
        await say('エラーが発生しました。ChatGPTからの応答を取得できません。');
    }
});

このスクリプトでは、ボットは!askGPTコマンドで始まるメッセージをリッスンし、次のテキストをOpenAI APIに送信し、返信を待ってSlackに伝達します。

ステップ4:アプリを開始する

最後に、index.jsファイルの末尾に次のコードを追加してアプリを開始します:

(async () => {
    await app.start(process.env.PORT || 3000);
    console.log('ChatGPT Slack bot is running!');
})();

統合をサーバーにデプロイする

ローカルでアプリケーションが稼働し始めたら、次のステップは24/7稼働するようにサーバーにデプロイすることです。Heroku、AWS、またはその他のクラウドプロバイダーを使用できます。

Slackボットの最終調整

SlackのAPIウェブサイトのアプリ設定ページに戻り、"Basic Information"をクリックします。"Install your app in your workspace"までスクロールし、指示に従います。一度インストールされると、アプリはワークスペースへの完全なアクセスを持ち、設計された通りにメッセージやコマンドに応答できます。

ChatGPTと通信し、リアルタイムでユーザーのクエリに応答できるSlackボットを無事に構築し、デプロイしました。

この基本的な設定を自由にカスタマイズおよび拡張してください。さらに多くのコマンドを追加したり、言語理解能力を向上させたり、追加のSlack APIを統合してみてください。

一般的な問題のトラブルシューティング

統合中に遭遇する可能性のある一般的な問題とその解決策を以下に示します:

環境変数が欠落している

.envファイルを正しく構成し、Node.jsがdotenvパッケージを使用して正しく読み込んでいることを確認してください。

無効なAPIキーまたはトークン

APIキーやトークンが正しいこと、期限が切れていないことを再確認してください。必要に応じて再生成してください。

不正なエラー

Slackアプリに必要な権限とスコープが"OAuth and permissions"セクションで正しく設定されていることを確認してください。

結論

SlackとChatGPTを統合することは、コミュニケーションを向上させ、ルーチン業務を自動化することでチームの生産性を向上させる強力な方法です。このプロセスには、Slackアプリの作成、必要な権限の設定、通信を処理するNode.jsアプリケーションの設定、ライブサーバーへのデプロイが含まれます。この統合により、Slack内で直接AIを使用するための可能性が広がり、ニーズに合った柔軟なツールを提供できます。

記事の内容に誤りがある場合, あなたは


コメント