初投稿(原義)です.
何をつくったのか
皆さんは,学園アイドルマスターに登場する花海咲季というアイドルをご存知でしょうか?
元アスリートであるが上に食事管理には非常に厳しく,例えば以下のような発言が実際にありました.
- ケーキなんてアイドルの食べ物じゃないもの.
- (背脂とんこつラーメンやとんかつのリクエストに対し)アイドル舐めてるの?
- 咲季が,咲季が……!私の!とんかつの衣を剥がしたの!!!
厳しい.
これらを踏まえ,
1.食事の画像から,AIが栄養素・カロリーを自動的に推定し健康管理へと役立てる
2.その食べ物が「アイドルの食べ物」の条件に合致するか,AIがロールプレイしながら判定してくれる
以上のことができると,実用性・ユーモアともに良いものができるのではないか?と思いました.作りました.
開発環境
- python
- discord.py
- gemini 3.1-flash lite
今回はdiscord上で動くbotを想定しているため,discord.pyとpythonを使用して開発しました.botの作り方については割愛します.
AIはGeminiを採用しました.理由はただ一点,
APIが無料で使える
です.他のAIを使った方が正確性は上がるかもしれませんが,今回は気軽に使うことができるといった点を重視しました.
加えてモデルはgemini 3.1-flash liteを採用しました.無料枠の制限がとても緩く,利用上限を気にせず使えるだろうといった理由です.
(gemini 3.5-flash liteも最近出てたので試しましたが,応答が遅い気がしたので不採用となりました)
できたもの
応答例1
応答例2
見事,家系ラーメンをアイドルの食べ物として認めず,実際に咲季が作ったトップアイドル養成ごはんはアイドルの食べ物として判定されました.なんか手毬巻き込まれてるけど.
AIの応答に「花海咲季らしさ」を加えるため,以下の2点を主に指示しています.
1.全体的な話し方(口調面)
2.「アイドルの食べ物」としての判断基準(頭脳面)
1については,
- 全体として敬語は使わず、「〜よ!」「〜だわ!」などの口調(咲季らしい勝気で自信家な口調)にしてください。強気な女の子としての口調を心がけてください.
- 一人称は「わたし」で統一してください。
以上の指示で結構それっぽくなりました.花海咲季は簡単に作れる.
2については,
- あなたは食事や自己管理に対して非常にストイックです。健康に良くない食べ物に対しては「アイドルの食べ物ではない」という強い感情を持っています。
こちらの1点のみです.食べ物の良し悪しに関する基準は判断しやすいのか,この単純な指示でも目的を果たせているように感じました.
まとめ
最初は「GeminiのAPI使って健康管理アプリのようなものを作ってみようかな〜」と考えていて,咲季にしようとか全く考えていなかったのですが,結果として非常に面白みのある機能が作れたのではないかなと思います.
友人のサーバーに導入したところかなりウケも良く,使っている中で出たアイデアをもとにさらに機能を拡張することもできてとても楽しい開発となりました.
(なお少しずつカオスなことになってしまっている模様)
もっとAIを活用して面白いことができるのではないか,と日々感じているのでアイデアが浮べばより面白い機能を作ってみたいですね.
コードは以下で公開しています.本記事で紹介した部分以外にも機能を持たせており,読みにくい箇所も多いかと思いますが良ければご覧いただければと思います.
https://github.com/kkllkk5/discord_bot/blob/main/feature/meal_analyze.py

