icon

@mecha_natsuki 作者は誰?

icon

@mecha_natsuki このリポジトリを要約してみて
github.com/kb10uy/openai-natsuki-bot

Web site image
GitHub - kb10uy/openai-natsuki-bot
icon

300 ぐらいまで絞るか

icon

なんで max_tokens 500 で「300 文字程度」って言ってまで 500 文字超えんねん

icon

@mecha_natsuki サガループが強すぎて笑っちゃったね

icon

@mecha_natsuki こんばんは、元気にしてた?

icon

なんかこう絶妙に画像ボタンがボケてたり border 1px なところに時代を感じてしまうだけで

icon

すけぶ~~(鳴き声)

icon

りんごは中身がかなり均一だけど顔は筋肉とか骨格が均一ではないからとか?

icon

NFC タグの代わりとして使えるからまあチェックイン用の人形とかにできるっちゃできる

icon

quart まで綴ってあれ、こんな長かったっけ?ってなる

icon

クォータニオンの綴り間違えるのわかる

icon

traint-variant だけだと Box 付かなくて dyn compatible にならないから結局普通に書けばいいかになってしまった

icon

futures::BoxFuture がそれか

icon

Pin<Box<dyn Future<Output = T> + Send + 'static>> はさすがに type していいか?

icon

結局脱糖した

Attach image
icon

async move || が書けるようになったのがつい最近なんだっけ

icon

まだ慣れないので async || move でガチャが開始しがち

icon

tokio::spawn は一段目が poisoned or not な result っぽい

icon

あー async move させる手があるか

icon

消費はしないので要求としては &self でいいのだが、Future を 'static にするために async_trait を脱糖しなきゃいけなさそうなのがムムムポイントです(&'async_trait self で受けて Future + 'async_trait を返すのでそのままだと forget できない)

icon

dyn compatible を諦めて普通に self 受けするか……

icon

tokio::spawn(hoge.do_something_forget()) するときの self ってどう受けるのが一般的なんだろ

icon

Future + 'static を宣言するしかない気がする

icon

spawn に投げるときに &self から取ると怒られるのは async fn desugar が必要か

icon

いやそもそもここ self 取らなくていいわ

icon

shallow clone が気軽にできなくて万物を clone するわけにもいかないので、clone できないものを Inner に押し込めておく……みたいなイメージがある

icon

逆に ありとあらゆるものが Arc<Mutex<T>> 相当で透過的に書ける方がヘンという話もある(?)

icon

無難に
struct Hoge(Arc<HogeInner>)
struct HogeInner { ... }
スタイルにするか……

icon

普通に clone できるようにすればいいか……そうか?

icon

正体判明

Attach image
icon

いやそもそも Send だったとしても dyn incompatible になっちゃうのか

icon

正直これは気合入れて Send にしろということかもしれない

icon

あーーー思い出した !Send な self を受け取りたかったんだ

icon

まず new が生えます

icon

それはそうかも

icon

type Hoge = Arc<HogeInner>; してもいいわけだしなあ

icon

async trait やめて async_trait 使うようにしたので実はこれを気にしなくてよくなった説が出てきたな

icon

Hoge {
foo: Arc<Mutex<T>>
bar: Arc<Mutex<U>>
}
を作って Hoge を Send Sync Clone にするより

Hoge {
foo: Mutex<T>
bar: Mutex<U>
}
を作って Arc<Hoge> をぽいぽいした方がいいのでは的なやつ

icon

Send + Sync じゃない T を強制的に共有したいときもか?

icon

まあちょっとだるいだけで &self でも別に支障はないんだよな

icon

呼ぶ方は &self の方がうれしいが、呼ばれる方としては Arc<Self> の方がうれしい……(無駄に Arc<Mutex<T>> するのを一段だけ回避できるので)

icon

async trait の self、 &self と Arc<Self> どっちにしよう……

icon

あ~

icon

たまに二択出されるのはあるけどあれとは別にツリーの分岐みたいな機能があるのか

icon

えまじ

icon

あと chatgpt.com とかにない要素としてツリーの分岐をどうするかというのがあり、あります(実際にはできると思うけど会話の本文を復元できない想定)

icon

conversation_restoration(
platform TEXT NOT NULL,
key TEXT NOT NULL,
conversation_id INTEGER NOT NULL
PRIMARY KEY (platform, key)
);
とかを作る?そこまでしなくてもいいか?

icon

おたちょんツリーの存在があるのであんまり気軽に呼ぶのもな……みたいな思いがある

icon

あと内部 ID だけじゃなくてたとえば mastodon backend なら最後のリプライの id とかから検索して会話を復元できるような構造にしないといけない

icon

データモデルはできてて、どう RDB とかにエンコードするかという問題

icon

さて会話の永続化をどうやってやろうか

2025-03-25 00:01:02 かなたん🎀の投稿 kxn4t@mastodon.kxn4t.tech
icon

このアカウントは、notestockで公開設定になっていません。