こんにちは!
Piyo AI Lab です!🐣
Piyo AI Labは、AI初心者向けにAIに関することについて幅広く、わかりやすく解説します!
今回のお題は、、、
冷蔵庫をとるだけで月5,000円浮いた!?
〜自炊が続かない一人暮らし大学生のための献立AIワークフロー〜 です!
一人暮らしの大学生にとっての大きな悩みの一つに”自炊”は付き物ですよね、、、。
自炊のハードルは”作ること”よりも、”レシピを考える”というところにあると思います。
そこで今回は、
無料で使用できるAIを用いて献立を簡単に作成できるワークフローを
前編、後編に分けてご紹介します!
1.使用するAIについて
今回使用するのは前回同様、”Jinba”というAIのみです!
このAIの詳しい内容は、
以前の記事で簡単にご紹介させていただいているのでそちらをご覧ください!
2.ワークフローの全貌
▼ ステップ①:冷蔵庫を撮影してLINEに送る
- 帰宅後、冷蔵庫の扉を開けてスマホでパシャ!
- それをJinbaのLINE Botに送信するだけ!
▼ ステップ②:AIが食材を自動認識
- Jinbaが画像を解析して、食材リストを返してくれる
例:「キャベツ・卵・玉ねぎ・にんじん・ベーコン・豆腐を確認しました!」
- しなびた野菜や中途半端に余った食材もちゃんと認識してくれます!
▼ ステップ③:ざっくりした希望を伝える
- 「15分で作れるやつ」「500円以内」「あっさり系」など、話し言葉でOK
※「特になし」でもOK!その場合はAIがおまかせで提案してくれます
▼ ステップ④:献立3案を受け取る
LINEに以下のような形で届きます!
- 【1案】豆腐とキャベツの中華炒め+卵スープ(推定400円・12分)
- 【2案】野菜ベーコンパスタ+ポトフ風スープ(推定380円・15分)
- 【3案】お好み焼き風卵焼き+豆腐の味噌汁(推定320円・10分)
▼ ステップ⑤:番号を返信→レシピと買い物リストが届く
- 「3」と返信するだけ
- 不足食材(例:わかめ・味噌)の買い物リストがLINEに届く
- レシピ手順も一緒に届くので、画面を見ながら作れます!
3.具体的なセットアップ方法(実際に手を動かしながら読み進めることを推奨します!)
これから具体的なセットアップに移っていきます!
全行程はたったの6ステップ!!
一緒に手を動かしながら、進めていきましょう!!
▼ ステップ①:jinbaを開いて赤枠のプロンプト欄に以下をコピペ!
—---------------------------------------------
# 冷蔵庫献立提案LINEボット の作成
## 概要
LINEに冷蔵庫の写真を送ると食材を認識し、献立3案を提案するBotを作成してください。
番号を返信するとレシピと買い物リストが届きます。
テキストメッセージには意図を判定し、料理アシスタントとして返答します。
## 必要なシークレット
- LINE_API(LINE_API型): チャンネルアクセストークン
## フロー構成(2つ作成)
---
### フローA:Webhookレシーバー
LINEからのWebhookを即時受け取り、フローBを非同期で起動する軽量フロー。
LINEのタイムアウト(1秒)対策のため、処理本体と分離する。
**構成:**
1. INPUT_WEBHOOK でLINEイベントを受信(requireSignature: false)
2. JINBA_FLOW_RUN でフローBを非同期呼び出し(フローBのUUIDを指定)
3. LINEに即時200レスポンスを返す
—
### フローB:メイン処理フロー
実際の献立提案・レシピ生成を行う本体フロー。
#### 共通(最初に実行)
1. INPUT_WEBHOOK でフローAからのデータを受け取る(requireSignature: false)
2. PYTHON_SANDBOX_RUN でLINEイベントをパース
- message_type(image / text), user_id, message_id, text を抽出
---
#### 画像受信時(冷蔵庫写真)
3. PYTHON_SANDBOX_RUN で LINE Content APIから画像をDL → base64化
- エンドポイント: https://api-data.line.me/v2/bot/message/{message_id}/content
- Authorization: Bearer {channel_access_token}
4. GEMINI_INVOKE_WITH_IMAGE(gemini-2.5-flash)で食材を識別
- JSON出力: { ingredients: [文字列リスト] }
5. ANTHROPIC_INVOKE(claude-sonnet-4-6)で献立3案を生成
- 各案: name, description(30文字以内), main_ingredients(3〜5品), cooking_time
- 和食・洋食・中華などバリエーションを持たせる
6. OUTPUT_FILE で献立データを {user_id}_proposals.json として保存
- 保存内容: { user_id, proposals } をJSON文字列化
7. PYTHON_SANDBOX_RUN でメッセージ整形 + LINE Push APIで送信
- 食材一覧と3案(番号・料理名・時間・説明)を表示
- 末尾に「1・2・3の番号を送ってください!」を追記
---
#### テキスト受信時
8. ANTHROPIC_INVOKE(claude-haiku-4-5-20251001, temperature:0)で意図分類
- "select":1・2・3などの数字で献立を選択している
- "chat":それ以外(質問・要望・雑談など)
**selectの場合:**
9. JINBA_FILE_SEARCH で {user_id}_proposals を検索(最新ファイルを使用)
10. JINBA_FILE_GET でファイル取得 → signedUrl からJSONを読み込み
11. PYTHON_SANDBOX_RUN で選択番号(1〜3)に対応する献立を取り出す
12. ANTHROPIC_INVOKE(claude-sonnet-4-6)で詳細レシピ・買い物リストを生成
- serving_size, ingredients(量付き), steps(50文字以内/ステップ), tips(1〜2点)
- shopping_list(メイン食材以外の調味料等のみ)
13. PYTHON_SANDBOX_RUN で整形 + LINE Push APIで送信(4900文字超は省略)
**chatの場合:**
14. ANTHROPIC_INVOKE(claude-haiku-4-5-20251001)で料理アシスタントとして返答生成
- 150文字以内・親切な日本語・必要に応じて写真送信を案内
15. PYTHON_SANDBOX_RUN で LINE Push APIで送信
---
## 重要な実装メモ
- **LINE送信はすべて Python内でLINE Push APIを直接呼ぶ**
LINE_SEND_MESSAGEツールは改行が `\n` リテラルになるため使用しない
エンドポイント: https://api.line.me/v2/bot/message/push
ヘッダー: Authorization: Bearer {token}, Content-Type: application/json
- **モデル名は正確に指定する**
Haiku: claude-haiku-4-5-20251001
Sonnet: claude-sonnet-4-6
- **JINBA_FILE_SEARCH の結果取得は result['items'] で行う**
result.items はPythonのdictメソッドと衝突するためNG
- **フローBのWebhook URLをLINE Developersのチャンネルに登録する**
(フローAではなくフローBのURLを登録)
—-----------------------------------------
↑これをこのまま貼り付けるだけ!!!
—----------------------------------------------------------------------------
▼ ステップ②:Jinbaが自動でフローを構築
- LINE連携・画像認識・献立生成・買い物リスト生成のフローが自動で生成されます!
※約10分ほどかかるので気楽に待ちましょーう!
—-----------------------------------------------------------------------------
▼ ステップ③:LINE連携の初期設定
以下のような画面に遷移したら、次にLINE Developersでチャンネルを作ります!
(LINE Developersについてはコチラ)
▼ 手順
- LINE Developers Console にアクセス(自分のLINEアカウントでログイン)
- ログイン後、以下の画面に遷移するので、赤枠に開発者名とメールアドレスを登録
※メールアドレスは自分のものを使用してください!
- 以下の画面に遷移後、「新規プロバイダー作成」をクリック
- プロバイダーの名前を決めた後(名前もなんでもOK!)、
以下の画面に遷移するので、赤枠の「Messaging API」をクリックしてください
- ここで公式LINEの作成を促されるので従ってください!
▼ 公式LINE入力項目
- アカウント名:「献立提案AI」など(Botの表示名になります)
- メールアドレス:自動入力されているはず
- 会社・事業者名:個人なら自分の名前でOK!
- 業種:「個人」→「個人(その他)」を選択
- 運営目的:「個人利用」を選択
- 利用規約に同意 → 「確認」→「完了」
- 作成完了後、遷移した画面の右上の「設定」をクリックし、
左メニューの「Messaging API」という項目 をクリック!
- 「Messaging APIを利用する」というボタンが表示されます
- クリックすると、プロバイダーを選択する画面に遷移
- 「献立生成Bot」(先ほど作ったプロバイダー)を選択
- 「同意する」をクリック
- プライバシーポリシー・利用規約のURLを聞かれますが、個人利用なら空欄でOK!
- 「OK」を押して完了!
※以下を行わないとJinbaの応答がうまく動かないので、必ず設定してください!
▼ 手順
- 左メニューから設定画面を出て、ホーム画面に戻る
- 左サイドバーの 「自動応答」 → 「応答メッセージ」 をクリック
- 「応答メッセージ」を OFF(チャット画面で「ありがとうございます」みたいな自動返信を消すため)
いよいよ、公式LINEをJinbaに紐づける作業に移っていきます!!
▼ 手順
- LINE Developers Consoleに戻る
- プロバイダー「献立生成Bot」を開く
- チャンネル「献立提案AI」が表示されているはず!クリック
- 「Messaging API設定」タブをクリック
- 一番下までスクロール
- 「チャネルアクセストークン(長期)」の欄で 「発行」 ボタンをクリック
- 表示された長い文字列をコピー!
次に、Jinbaに戻り
channel_access_token の欄にコピーした長い文字列を貼り付け!
「シークレットを作成」をクリック!
—---------------------------------------------------------------------------------
前編はここで終了です!全行程の約70%が終了しました!!
後編では残りの④〜⑥ステップを紹介していきます!
全行程の山場はもう超えたので、あともう少し一緒に頑張っていきましょう!!
★大学生の方にオトクなご紹介!?
〇大学生コミュニティ:「Tomo-University」
大学生にとって便利なAIワークフローの情報発信や講義を
無料(大学生のみ加入可)で受けることが可能なコミュニティを紹介します!!!
また加入してくださった学生様には、
n8n公式アンバサダーであるトモが運営している有料コミュニティ”トモラボ+”に
無料でご招待!(通常価格約6,000円⇒0円!!)
LINEオープンチャットにて「興味あります」と送るだけ!是非、お待ちしております!
(オープンチャットリンクはコチラ)
〇トモラボ(トモラボ+について)
トモラボ!+は、AIエージェント・AIワークフロー構築に特化した、日本有数のコミュニティです。
提供コンテンツ:
- AIワークフローの構築相談(無制限)
- コピペで動くJSONコードの共有
- オンラインイベント「トモのAI勉強会+」開催
- その他、基礎から学べるAIワークフローのオンライン講座など多数
会費: 39ドル(日本円で約5,980円)
▼ トモラボ!+(有料)参加はこちらから
👉 トモラボ!+(今日から始めるAIワークフロー教室)
▼ トモラボ!(無料)参加はこちらから
👉 トモラボ!(with TENHO Academy)
尚、質問やお題の提案などございましたら、HP下の質問欄からお待ちしております!
次回の記事もお楽しみに!!!