今天完成系統總體架構圖繪製與資料流規劃。前端使用 LINE 官方帳號,由長輩與家屬直接互動,搭配 Web 儀表板提供視覺化追蹤;Python 後端則負責 VLM 影像推理、gTTS 語音生成與 SQLite 資料庫管理。
昨天確定了「給藥袋裝一張嘴」的核心理念,利用 Google VLM 的多模態理解能力替長輩解讀藥袋資訊。
在針對高齡使用者的產品設計中,「降低學習成本」是成功的關鍵。如果要求長輩另外下載並學習操作一套新的 App,往往會因為介面複雜而放棄使用。因此選擇 LINE 官方帳號作為前端體驗層,這是大家日常最熟悉的工具:
系統分為三層:LINE / Web 體驗層、Python Flask 邏輯運算層與 External Cloud Services 雲端服務層。
+-----------------------------------------------------------------+
| [ LINE App & Web 前端體驗層 ] |
| - LINE 官方帳號對話介面 (長輩 / 家屬互動首選,零學習門檻) |
| - 拍照 / 圖片傳送 (藥袋照片上傳) |
| - 語音檔播放 (收聽 gTTS 生成白話語音) |
| - 「已吃藥」或「我吃藥了」打卡互動 (文字 / 按鈕打卡) |
| - Web 關懷儀表板 (Tailwind CSS 視覺化呈現用藥歷程與打卡狀態) |
+------------------------------------------------------------------+
|
HTTP POST (LINE Webhook / REST API)
v
+-------- ---------------------------------------------------------+
| [ Python Flask API 後端層 ] |
| - RESTful API (/analyze-prescription, /callback, /dashboard) |
| - PIL 圖片預處理與格式轉換 |
| - Google GenAI SDK (Gemini VLM 多模態推理) |
| - Prompt 提示詞工程 (轉化白話文 + Structured JSON 結構化輸出) |
| - gTTS 語音檔生成 (自動轉為 .mp3 播報檔) |
| - SQLite 資料庫 (prescriptions, medicines, intake_logs 三表持久化) |
| - LINE Messaging API (雙向 Webhook 接收 + 自動化關懷推播) |
+------------------------------------------------------------------+
|
REST API / JSON Payload
v
+------------------------------------------------------------------+
| [ External Cloud Services ] |
| - Google AI Studio (Gemini VLM Model) |
| - LINE Messaging Platform (LINE 訊息傳輸平台) |
+------------------------------------------------------------------+
完整系統運作流程包含以下 5 個步驟:
照片上傳與接收 (LINE App / Web) — 長輩拍下藥袋照片並傳送至 LINE 官方帳號,系統透過 Webhook 自動將圖片傳送給 Python Flask API。
VLM 多模態理解 (Python Backend & Gemini) — Python 後端呼叫 Google VLM API,配合「高齡友善 Prompt」,將專業醫囑(如「一天三次,飯後」)翻譯為溫柔白話中文(如「阿公,早中晚餐後記得配水吃一顆」),同時輸出標準 JSON。
語音生成與紀錄落盤 (Python & SQLite) — 後端將白話語音摘要轉為 .mp3 音訊檔,並將藥名、頻率、劑量與安全警語寫入 SQLite 資料庫。
即時關懷推播 (LINE Messaging API) — 後端將白話文摘要與語音播報連結推播給長輩與家屬,提供最直覺的對話式關懷。
雙向打卡與儀表板同步 (LINE Webhook & Web Dashboard) — 長輩吃完藥後在 LINE 聊天室回覆「已吃藥」或「我吃藥了」,系統透過 Webhook 自動接收並將狀態寫入 intake_logs 資料表,家屬可隨時透過網頁儀表板檢視最新狀況。
今天完成了系統架構圖繪製與前後端職責分配。
明天(Day 03),將正式進入程式碼實作階段,建立 Python 虛擬環境,安裝 Google GenAI SDK 與 Flask,並寫出第一個 analyze-prescription API 端點。