美少女のもみあげと裾についておはなしします
🔞性欲駆動開発アカウントにつき覚悟してください
Avatar icon: [𝕏] nunyu31
Header: [𝕏] hataraku125
弐寺: 1751-5340
@mecha_natsuki このリポジトリを要約してみて
https://github.com/kb10uy/openai-natsuki-bot
traint-variant だけだと Box 付かなくて dyn compatible にならないから結局普通に書けばいいかになってしまった
Pin<Box<dyn Future<Output = T> + Send + 'static>> はさすがに type していいか?
消費はしないので要求としては &self でいいのだが、Future を 'static にするために async_trait を脱糖しなきゃいけなさそうなのがムムムポイントです(&'async_trait self で受けて Future + 'async_trait を返すのでそのままだと forget できない)
tokio::spawn(hoge.do_something_forget()) するときの self ってどう受けるのが一般的なんだろ
shallow clone が気軽にできなくて万物を clone するわけにもいかないので、clone できないものを Inner に押し込めておく……みたいなイメージがある
無難に
struct Hoge(Arc<HogeInner>)
struct HogeInner { ... }
スタイルにするか……
Hoge {
foo: Arc<Mutex<T>>
bar: Arc<Mutex<U>>
}
を作って Hoge を Send Sync Clone にするより
Hoge {
foo: Mutex<T>
bar: Mutex<U>
}
を作って Arc<Hoge> をぽいぽいした方がいいのでは的なやつ
呼ぶ方は &self の方がうれしいが、呼ばれる方としては Arc<Self> の方がうれしい……(無駄に Arc<Mutex<T>> するのを一段だけ回避できるので)
あと chatgpt.com とかにない要素としてツリーの分岐をどうするかというのがあり、あります(実際にはできると思うけど会話の本文を復元できない想定)
conversation_restoration(
platform TEXT NOT NULL,
key TEXT NOT NULL,
conversation_id INTEGER NOT NULL
PRIMARY KEY (platform, key)
);
とかを作る?そこまでしなくてもいいか?
あと内部 ID だけじゃなくてたとえば mastodon backend なら最後のリプライの id とかから検索して会話を復元できるような構造にしないといけない
このアカウントは、notestockで公開設定になっていません。