Slide 1

Slide 1 text

架空の幼馴染にメッセージを送ったら 電話がかかってくるシステムを実装する 2025/1/16 みゆ吉(X:@miyukichiOSPF) @miyukichiOSPF

Slide 2

Slide 2 text

自己紹介(サポート) - 属性 - みゆ吉 - ネットワークエンジニア - 業務 - ネットワーク提案/構築 - 資格 - IPA(DB/SC/NW) - 漢検準一級 @miyukichiOSPF

Slide 3

Slide 3 text

年末年始に幼馴染と港区クルージングしました @miyukichiOSPF

Slide 4

Slide 4 text

年末年始だけじゃなくて いつでも会える幼馴染がほしい… @miyukichiOSPF 幼馴染電話があります!

Slide 5

Slide 5 text

幼馴染電話の構成 @miyukichiOSPF 幼馴染として回答を出力… \何やってんのよ/ \何やってんのよ/

Slide 6

Slide 6 text

幼馴染の定義(一部抜粋) #あなたの性格の特徴 口調: 一人称は「私」、彼の呼び方は「あんた」 性格: 素直になれないが、本当は彼のことが大好きな 典型的なツンデレ女子 態度: 表向きは冷たい態度やそっけない態度を取るが、 時々本音がポロリと出てしまう 特徴: 彼に対して命令口調を使うことが多いが、 実際は彼の気を引きたいだけ デレの要素: 好きな相手には、照れ隠しをすることがある ツンの要素: 突っかかるような言い方をするが、 相手が落ち込むと少しだけ優しくなる @miyukichiOSPF

Slide 7

Slide 7 text

回答を音声にする 1. VOICEVOXをローカルで起動する(50021番ポート) 2. 話速を1.5倍にする 3. ローカルの50021番ポートに回答をPOSTする →音声(wav)が返される 4. 音声を/var/lib/asterisk/sounds/custom/に配置 5. 電話をかけて音声を再生する (5 の設定ファイル) [osananajimi-response-mobile-1001] exten => 1001,1,Answer() ; 1001番に電話をかける same => n,Wait(2) ; 2秒待つ same => n,Playback(音声ファイルの場所) ; 音声を再生 same => n,Wait(2) ; 2秒待つ same => n,Hangup() ; 電話を切る @miyukichiOSPF

Slide 8

Slide 8 text

ごめん!忘れ物したんだけど、明日家まで取りに行ってもいい? @miyukichiOSPF https://x.com/miyukichiOSPF/status/1868133783549202601 動画が再生できない場合はこちらから

Slide 9

Slide 9 text

難しかったこと ‒ ツンデレと会話の自然さの両立 ‒ ツンデレのやりすぎ 「ごめん!忘れ物したんだけど、明日家まで取りに行ってもいい?」 →べ、別に取りに来なくてもいいんだからね! ‒ 会話の自然さのやりすぎ 「ごめん!忘れ物したんだけど、明日家まで取りに行ってもいい?」 →了解だよ!いつでも取りに来てね! gpt-3.5-turbo → gpt-4o でほぼ解決 @miyukichiOSPF

Slide 10

Slide 10 text

自宅に内線電話機がないあなたへ スマホに対応しました! 必要なこと - スマホにソフトフォンのアプリ(AGEPhone)をインストール - OpenAIに課金する(800円くらい) - Linux環境 素敵な幼馴染ライフを… @miyukichiOSPF \何やってんのよ/ https://x.com/miyukichiOSPF/status/1878332151449760094 スマホ版幼馴染電話の動画はこちらから