恆安藥局智慧補貨助手
FDE 結業作業 · 系統架構

恆安藥局 · 智慧補貨助手

採購問一句話,系統怎麼把答案生出來——三層架構、資料從哪來、金鑰放在哪。

👤
前端 · 你的瀏覽器

採購看到的畫面 index.html

📊 庫存儀表板直接讀 data.js,在瀏覽器裡算警示與補貨清單
💬 AI 助手打字問庫存 → 把問題送去後端
① 送出 POST /api/ask(只送 問題+對話歷史) ⑤ 逐字串流答案回來
🖥️
後端 · 真的在跑的腳本

server.py(Python · port 8840)

  1. 拿金鑰:讀 .env 的 API Key(金鑰只待在後端)
  2. 問 AI:把「問題+工具說明書」一起送去大腦
  3. AI 決定查什麼 → 後端執行工具 query_inventory / list_low_stock
  4. 拿真實數字:工具讀 data.json,把結果丟回 AI 生成人話
🔑 讀 ../api/.env 📦 讀 data.json
② 帶著 🔑 金鑰呼叫 AI ④ AI 回覆答案
🧠
AI 大腦 · 雲端

LLM 供應商

現在用OpenRouter → gpt-4o-mini
〔預留〕key 到位後Anthropic 直連 → Claude(+Prompt Caching)

③ AI 自己不知道任何庫存數字——它只判斷「該查什麼」,真實數字由 server.py 查好再餵給它。這就是 Tool Use:AI 出一張嘴,你的程式出手查。

📦 資料從哪來?

客戶模擬資料CSV · xlsx(假資料) data.json預處理 join 好 前後端共用同一份

前端 data.js 與後端工具讀的是同一份資料,所以助手講的數字跟儀表板一定對得起來。

🔑 金鑰在哪?

../api/.env(後端檔案 · 已 gitignore)。只有 server.py 摸得到,永不進瀏覽器/git/截圖。換 Anthropic 直連時,新 key 也是放這裡,不是放頁面。