yuruyuru.life

Life is short or long … What do you think ?

Mastodon 用の AI アシスタント Bot を作ってみた

執筆者:

カテゴリ:

, ,

前から自分の Mastodon サーバに AI アシスタント Bot を導入してみたかった。
Github にも先人が作ったいろんな AI Bot がいくつもある。
単に適当な言葉をランダムにつぶやく Bot だったり、AI アシスタント機能的なものも実装されている Bot もある。
とはいえ、やっぱり自分の使い方に合うかどうかっていうのもあるし、使う生成AI もいろんなんがあるし・・・

じゃあ、自分で自分に合うものを作ればいいんだ。
なんなら、AI アシスタント Bot なんだから、生成 AI に作ってもらったらいいんだって(笑)

最近の生成AI って本当にすごいよね。
自分のやりたい内容や、どういう動きにしたいか、こういう機能を実装したいとか書くだけでプログラムができあがる。
もちろんちょっと修正する部分があったりはするけど、9割がたはそのままで問題ないくらいのレベル。

今回は Claude を利用して、Claude の API を利用したもので作成した。
利用する API は一番安い Haiku 。
もちろん上のクラスも設定できるようにしている。
まぁ、Bot 程度であれば、リアルタイム情報の検索は不要だし、Claude の Haiku ならトークン量に対する金額も安いし、コストはほとんど気にならないくらい。

とはいえ、Mastodon で利用するとなると、そのままだと不特定多数から利用されてしまう。
そんなことになるとコストが爆上がりするので、利用量の制限や、自分のドメインからだけ利用できるようにするなど、制限する内容も実装した。

あとはちょっと前から使ってみたかった乗換経路検索の Transit API 。
これもついでに一緒に取り込んでみた。
簡単な経路案内や電車の時刻などを簡単に調べてくれるのでありがたい。

ということで、できあがった AI アシスタント Bot のプログラムを自宅のMastodon とは別サーバに設定。
Mastodon サーバには AI アシスタント用のアカウントを作成して設定。
うん、ちゃんと動いた。
乗換案内もきちんとできる。
他サーバからの投稿には反応しない動きも問題ない。
などなど、動きをチェックしてすべて問題ないことも確認できた。

ホントに生成AI あれば何でもできる気がするよね。
すごいわ~。
できあがったプログラムは Github で公開してます。
なんかおかしいところがあったら教えてください。