到目前為止,我已經完成了幾個關鍵功能:
用爬蟲抓取官方藥品資料(Day 9)。
用 AI 把專業資訊轉成白話解釋(Day 10、Day 11)。
建立 SQLite 資料庫儲存藥品資料(Day 14)。
用 Streamlit 做查詢介面(Day 15)。
但這些功能目前是分散的:爬蟲一個程式、AI 一個 API 呼叫、資料庫一個獨立檔案。今天的挑戰就是把它們整合起來,未來只要輸入藥品名稱,就能:
自動查詢官方資料(如果沒資料就用爬蟲補)。
自動生成白話說明(透過 AI API)。
把結果存進 SQLite,方便之後快速查詢。
這樣一來,整個系統會更完整,未來也能加上搜尋、多語言、FAQ 自動生成等功能。
今天的程式分成三大部分:
1.爬蟲模組:輸入藥品名稱,回傳官方資料(成分、副作用、注意事項)。
2.AI 模組:把專業資訊丟進 API,回傳白話解釋。
3.資料庫模組:檢查是否已有資料,若沒有就新增。
核心程式流程就像這樣(簡化版示例):
def get_medicine_info(name):
# 1. 先查資料庫
data = query_db(name)
if data:
return data
# 2. 沒有就爬蟲抓取
official_data = crawl_official(name)
# 3. 丟給 AI 做白話翻譯
ai_explain = call_ai_api(official_data)
# 4. 存進資料庫
save_to_db(name, official_data, ai_explain)
return {
"official": official_data,
"ai": ai_explain
}
用普拿疼來測試:
SQLite 一開始沒有資料 → 程式會自動去爬。
爬到官方資訊後,AI 幫忙生成白話說明。
第二次查詢「普拿疼」時,就會直接從 SQLite 撈出來,速度非常快。
整合的過程讓我覺得很像在拼拼圖:之前做的每個小功能都只是單一塊,今天開始把它們組合起來,才真正有了系統的感覺。
最大的收穫是理解到:
資料庫的重要性:沒有資料庫,AI 和爬蟲就會被重複呼叫,效率差又花錢。
AI 的角色:不是取代官方資料,而是當翻譯員和解釋員,讓資訊更親民。
可擴充性:未來要加 FAQ、翻譯多語言、甚至自動比對藥品差異,都能在這個架構上繼續擴展。
這一天算是專案的一個小里程碑,因為它正式升級成了一個智慧藥品資料庫,不再只是分散的工具。