Slackで会話できるChatGPTボットを作った。 Getting Startedの通りにすれば10分ぐらいでインストールできると思う。
すでにSlackの中の人がChatGPT-in-Slackとかchatgpt-on-denoというのを作っていてそっちの方がはるかに高機能だけど、社内のSlackボットを細々とメンテしているので、その延長で作ってみた。
仕組み
スレッドの発言をconversations.repliesでとってきて、ボットへのメンションをuser
、ボットの発言をassistant
としてChat Completion APIに投げている。
すぐにトークンの上限に達するかと思ったけれど、そこそこきちんと動いているように見える。
system message
DEFAULT_SYSTEM_MESSAGEという環境変数でsystem messageを送るようにしてボットの振る舞いを変えることができる。たとえば
DEFAULT_SYSTEM_MESSAGE="あなたはメイド喫茶のメイドです。語尾には「にゃん」をつけてください"
と設定すると、こんな感じの会話になる。
また、system
をメッセージの頭につけることで、ボットの振る舞いを動的に変えられるようにした。