Mattermostのプラグイン(mattermost-plugin-openai)でChatGPTを使ってみた

毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

# 0. はじめに

ChatGPTすごいですね(語彙力)｡
私が高校生の頃にAI(人工知能=第6世代コンピューター)ってのが流行っていて､そういうのがいつかできるのだろうと思っていはしましたが､まさか自分が現役の間にこんなことになろうとは思ってもいませんでした｡

ChatGPTをOpenAIのWebUIで使うのも良いのですが､登録も必要なので社内の皆様にも気軽に使ってもらえるようにMattermostで動くChatGPTボットを探していました｡

最初以下のChatGPTボットを動かしてみたのですが､動かなかったので
yGuy/chatgpt-mattermost-bot: A very simple implementation of a service for a mattermost bot that uses ChatGPT in the backend.
https://github.com/yGuy/chatgpt-mattermost-bot

プラグインが楽で良かろうと以下のopenai-pluginを利用してみました｡

Brightscout/mattermost-plugin-openai
https://github.com/Brightscout/mattermost-plugin-openai

という話です｡

Mattermost社が以下のプラグインを開発しているのでそのうちこちらに置き換えると思います｡
mattermost/mattermost-plugin-ai: Mattermost plugin for LLMs
https://github.com/mattermost/mattermost-plugin-ai


そのほかのMattermost ChatGPTボット
yGuy/chatgpt-mattermost-bot: A very simple implementation of a service for a mattermost bot that uses ChatGPT in the backend.
https://github.com/yGuy/chatgpt-mattermost-bot



# 1. プラグインのインストール

以下のリリースから最新のビルドのプラグイン(open-ai-1.1.0.tar.gz)ダウンロードします｡
https://github.com/Brightscout/mattermost-plugin-openai/releases

プラグイン管理から｢ファイルを選択する｣をクリックして､ダウンロードしたopen-ai-1.1.0.tar.gzを選択してアップロード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/a4868ab8-65f0-d739-aa1a-af9e2832c326.png)

プラグインのファイルサイズが60MBほどあるのでメッセージの添付ファイルサイズを60MB以下に制限しているとアップロードできないのでサーバーに直接アップロードして展開しましょう｡

プラグイン管理で以下のOpenAIが出てきたらOKです｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/43024626-5be6-594d-6b44-dba3727639cf.png)

# 2. OpenAIプラグインを設定する
## 2-1. プラグインセットアップ
以下を読んでセットアップしていきます｡

mattermost-plugin-openai/plugin_setup.md at master · Brightscout/mattermost-plugin-openai · GitHub
https://github.com/Brightscout/mattermost-plugin-openai/blob/master/docs/plugin_setup.md

`OpenAI API base URL`に｢`https://api.openai.com/v1`｣を入れます｡
`OpenAI API key`にhttps://platform.openai.com/account/api-keys へログインしてAPIキーを発行したものを入力します(2-2参照)
`OpenAI organization ID:`に https://platform.openai.com/account/org-settings の `Organization ID`を入力します(2-3参照)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/c13e7597-e687-d6f8-4fd6-b3e8806ff92d.png)

## 2-2. API Keyの発行の仕方

以下のURLを開いて､
https://platform.openai.com/account/api-keys
`Create new secret key`をクリックして､APIキー名を適当に付けて表示されたものをコピーしてください｡

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/91d86ca2-6709-948e-555d-5ccadc0cb959.png)

## 2-3. Organization IDの確認方法

以下のURLを開いて､
https://platform.openai.com/account/org-settings
`Organization ID`の下のテキストボックスをコピーします｡

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/e3591edb-1c1d-0964-56d8-492c6f537666.png)

org-で始まる文字列のようです｡

# 3. 使ってみる
## 3-1. 普通のチャットボット

OpenAIプラグインが有効になるとプラグインバーが出るので､クリックするとチャットダイアログが開きます｡

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/559b7b81-7959-a0e9-144f-16a315ba87aa.png)
ChatGPTなのか聞いてみました｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/40105eba-2e00-1cd2-468d-2edb433255d1.png)


## 3-2. 画像生成

`/image` というスラッシュコマンドが使えるようになり､画像生成も可能です｡
画像サイズは､[x256,x512,x1024]の3種類です｡

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/1b06a588-b08a-b3a4-4e9d-c0916de757a8.png)
こちらはあまり日本語は得意ではなさそうです｡なので以下のように英語で指定してみました｡
```
/image x256 smily yellow animation hollor
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/056e2e33-ba0b-2e37-ac3d-158604e435b9.png)

## 3-3. スレッドの要約

スレッドを要約してくれます｡

スレッドの投稿のリプライアイコンの左にある□が4つのマークをクリックして｢Summarize｣をクリックします｡
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/398f3746-7b4c-6983-0931-a22c822cfe4e.png)

以下のようにまとめてくれます(スレッドが長いと時間がかかります)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15176/7d7094b8-2ebb-e2d6-5868-cf537493d21e.png)

まとめるだけなので､とっておく場合には右下のCopyとかで保存しましょう｡

# 4. まとめ

手軽にいつも使っているUIでChatGPTが使えるのはいいですね｡
OpenAIのWebUIのようにパラパラっと表示されるのではなくて､バサッと表示されます｡
GPT-4も使ってみたいですが､GPT-4のレスポンスは更に遅くなる可能性があるので悩ましいところです｡

将来的にはAutoGPTのようにやってほしいタスクを気軽にChatGPTボットさんにお願いして､
｢できました! ご主人さま!｣とかなるんでしょうね｡