ちゃんと動くソースコードが20回くらいのやり取りで出たので、記念に残す。
↓うらたん代理bot
https://discord.com/api/oauth2/authorize?client_id=1086206556393193523&permissions=3072&scope=bot
※環境について
更新しました。Discord.pyの2.2以降のバージョンで動きます。
注文内容のざっくりとしたプロンプト
「全量メッセージを受け取って」
「うらたんが呼ばれたと思ったら〇、呼ばれなかったら×で返答して」…A
〇だったら → 「猫人族の男性としてロールして返答して」…B
「summary文字列に会話記録の要約を残して」…C
これで設計。
Aについて、要約記録であるsummary文字列と共に最新のメッセージを放り込む挙動をするので、
メッセージ単体ではうらたんが呼ばれてなくても、会話中であることが認められるなら返答してくる。
※ただしAの判定器のプロンプトが悪いのかバラつきが激しい。
Bについては、多分既存のbotでも似たような運用をしてると思う。要約記録と最新の会話を投げてる。
ファインチューニングが出来ない代わりに料金がバリ安なので安心してローンチ出来るのはありがたい…
Cは、単に会話ログ取るだけだと味気ないなと思い、
トークン消費量考えるとこうやってログ取った方が得じゃねーかなと思って実装。
会話するたび要約する。たまにログ見ると「要約できませんでした」って言って全部消えてるのも楽しい。
どうせ著作権もGPT4が持ってるに等しいような開発の仕方してたので、botの内容も公開していきます。