昨天我們把藥品資訊存進了 SQLite,今天的任務是:讓使用者能查得到! 光有資料庫還不夠,如果要拿給一般人用,一定需要一個介面。這裡我選擇 Streamlit,因為它可以快速把 Python 程式變成網頁介面,不需要自己寫前端或後端,非常適合用來展示成果。
1.安裝 Streamlit
pip install streamlit
2.建立 app.py
import streamlit as st
#頁面標題
st.title("AI 藥品小幫手 – 查詢介面")
#使用者輸入
keyword = st.text_input("請輸入藥品名稱:")
#查詢按鈕
if st.button("查詢"):
if keyword == "普拿疼":
result = {
"成分": "Acetaminophen 500mg",
"用途": "緩解頭痛、牙痛、經痛等",
"副作用": "過量可能傷肝、噁心、皮疹",
"注意事項": "避免與酒精同時使用"
}
else:
result = {"提示": f"找不到 {keyword} 的相關資訊"}
#顯示查詢結果
st.write("查詢結果:")
for k, v in result.items():
st.write(f"**{k}**:{v}")
3.執行程式
streamlit run app.py
打開瀏覽器,就能看到網頁查詢工具!
我用普拿疼當測試案例,當我在輸入框輸入藥品名稱並按下查詢後,網頁立刻顯示藥品的成分、用途、副作用與注意事項。整個體驗很流暢,感覺就像在使用一個迷你版的藥品百。
而且 Streamlit 本身還支援很多功能,例如:
下拉選單(方便選藥品分類)
圖表繪製(之後可以拿來做副作用比例分析)
圖片顯示(或許可以展示藥品包裝)
這些功能都可以讓介面更生動。光是今天完成的第一版,已經比命令列輸出好看太多,操作方式也對一般人更友善。
今天最大的收穫就是:「資料 + 介面 = 工具」。
資料庫雖然能存放很多資訊,但如果沒有好的介面,使用者根本無法真正受惠。Streamlit 幫我快速解決了這個問題,幾乎不用額外花時間學習新框架,只要用熟悉的 Python,就能完成一個小型網頁應用。
未來的計畫是把這個查詢介面連接 SQLite,讓使用者輸入藥品名稱時,可以直接從資料庫撈資料,而不是靠程式裡的假資料。這樣一來,整個專案的骨架就會成形:
從資料來源(爬蟲 + API)
到資料整理(白話化 + 翻譯)
再到資料庫(SQLite 存放)
最後透過 Streamlit 查詢
一步一步堆疊起來,逐漸變成一個完整的「AI 藥品小幫手」。