編集済み 4 数か月前 によって ExtremeHow 編集チーム
スラック統合オープンAIワークフロー自動化協力ボットコミュニケーションアプリメッセージング
翻訳が更新されました 4 数か月前
技術の進歩に伴い、チャットボットや仮想アシスタントは多くの企業や個人のワークフローにおいて不可欠なツールとなっています。世界中のチームや組織で使用されている人気のコミュニケーションプラットフォームであるSlackも、ツールとボットの統合の例外ではありません。この包括的なガイドでは、OpenAIによって開発された強力なAI言語モデルであるChatGPTをSlackに統合する手順を詳しく説明します。このガイドを終えるころには、Slackワークスペース内で直接ChatGPTの機能を活用する方法についての理解が深まるでしょう。
ChatGPTをSlackと統合する技術的詳細に深く入る前に、そのような統合が提供するさまざまな利点を認識することが重要です。これらの利点には、効率的なコミュニケーション、生産性の向上などがあります:
ChatGPTをSlackと統合するには、開発環境をいくつかの前提条件で準備する必要があります:
最初のステップはSlackアプリの設定です。Slackアプリを通じて、ChatGPTとの対話を含むSlackの機能を拡張することができます。
Slackアプリを作成するには、以下の手順に従います:
アプリを作成した後、ボットに必要な権限を含む基本設定を行う必要があります:
chat:write
- ボットとしてメッセージを送信するため。channels:read
- ワークスペースのチャンネルに関する情報を読むため。channels:history
- ボットがいるチャンネルのメッセージを読むため。ChatGPTとSlackの間の統合はNode.jsアプリケーションによって処理され、Slackメッセージを受信し、ChatGPTからの応答を中継する仲介者として機能します。
ローカルマシンでNode.jsプロジェクトを設定して始めましょう:
mkdir chatgpt-slack-bot
cd chatgpt-slack-bot
npm init -y
これにより、chatgpt-slack-bot
という名前の新しいディレクトリが作成され、その中で新しいNode.jsプロジェクトが開始されます。
Slack Bolt SDKやSlackアプリ用Node.js SDK、HTTPリクエスト用のAxiosなどの必要なパッケージをインストールします:
npm install @slack/bolt axios
次に、SlackとChatGPTを接続するシンプルなNode.jsスクリプトを書きましょう。
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
index.js
ファイル内で次のコードを使用してSlackアプリを初期化します:
const app = new App({
token: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET
});
特定のコマンドが発行されたときに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に伝達します。
最後に、index.js
ファイルの末尾に次のコードを追加してアプリを開始します:
(async () => {
await app.start(process.env.PORT || 3000);
console.log('ChatGPT Slack bot is running!');
})();
ローカルでアプリケーションが稼働し始めたら、次のステップは24/7稼働するようにサーバーにデプロイすることです。Heroku、AWS、またはその他のクラウドプロバイダーを使用できます。
SlackのAPIウェブサイトのアプリ設定ページに戻り、"Basic Information"をクリックします。"Install your app in your workspace"までスクロールし、指示に従います。一度インストールされると、アプリはワークスペースへの完全なアクセスを持ち、設計された通りにメッセージやコマンドに応答できます。
ChatGPTと通信し、リアルタイムでユーザーのクエリに応答できるSlackボットを無事に構築し、デプロイしました。
この基本的な設定を自由にカスタマイズおよび拡張してください。さらに多くのコマンドを追加したり、言語理解能力を向上させたり、追加のSlack APIを統合してみてください。
統合中に遭遇する可能性のある一般的な問題とその解決策を以下に示します:
.env
ファイルを正しく構成し、Node.jsがdotenvパッケージを使用して正しく読み込んでいることを確認してください。
APIキーやトークンが正しいこと、期限が切れていないことを再確認してください。必要に応じて再生成してください。
Slackアプリに必要な権限とスコープが"OAuth and permissions"セクションで正しく設定されていることを確認してください。
SlackとChatGPTを統合することは、コミュニケーションを向上させ、ルーチン業務を自動化することでチームの生産性を向上させる強力な方法です。このプロセスには、Slackアプリの作成、必要な権限の設定、通信を処理するNode.jsアプリケーションの設定、ライブサーバーへのデプロイが含まれます。この統合により、Slack内で直接AIを使用するための可能性が広がり、ニーズに合った柔軟なツールを提供できます。
記事の内容に誤りがある場合, あなたは