はじめに
運営しているMastodonサーバーで前々からMastodonの使い方とかを自動で返信してくれるBotとか作れないかなと考えていたのがきっかけ。
で、Rubyでいい感じにOpenAIのAPIが実行できるライブラリを見つけたので実際に作ってみた感じです。
作ったもの
メンションで問い合わせされた内容を元に自動で返信するようにしている感じです。
Streaming APIを使う方法も考えたんですが、そもそもmastodon-apiがRuby 2.7以降に対応できていないですし、ドキュメントなどもあまりない状況だったので通知からメンションのみを取得するようにしています。
また同じサーバー内のユーザーからしか問い合わせを受け付けないようにチェックなども入れています。
実際の挙動とか
こんな感じでMastodonについて教えてくれたりします。
現状の課題
リプライが連続した問い合わせの際に、その内容をいい感じに保持する仕組みがないです。
なので、さらに追加の質問が来た場合に対応がうまくいかない可能性がありそうです。
また、Mastodon以外の質問なども受け付けるようになっているので普通に大喜利に使われておしまいになりそうというのもあります。
現状だとフリートライアル分まで稼働させる予定なので問題はないんですが、本格的に動かすとなると大喜利で使いつぶされると辛いのでその辺も何かしらで対応できるようにしたいですね。