iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
生成式 AI

AI 藥師助手:打造人人都看得懂的藥品查詢系統系列 第 17

Day 17:藥品資訊分類標籤 – 讓查詢更有系統

  • 分享至 

  • xImage
  •  

前言

到昨天為止,我的專案已經能夠:

  • 查詢藥品資訊

  • 提供 AI 翻譯和摘要

  • 把資料存進 SQLite 資料庫

  • 在 Streamlit 介面上查詢

聽起來功能很多,但實際用起來還是有個問題:所有藥品查詢結果都是一長串清單
如果資料庫裡有 100 種藥,使用者只能一個一個查詢,會很麻煩。

這時候我有一個關鍵功能:分類標籤
如果每種藥都有「止痛藥、感冒藥、胃藥、保健品…」的分類,使用者只要選類別,就能快速瀏覽同類型的藥品。這樣不但查詢更方便,後續還能做同類藥品比較

實作過程

1.修改資料庫結構
首先,我在 SQLite 的藥品資料表 (drugs) 加了一個 category 欄位,用來存放藥品的分類:

ALTER TABLE drugs ADD COLUMN category TEXT;

這樣每筆藥品除了成分、副作用之外,還多了一個「分類」資訊。
2.資料分類方式
因為目前資料量不大,我就手動幫藥品加上分類。

  • 普拿疼 → 止痛藥
  • 克冒 → 感冒藥
  • 胃乳片 → 胃藥

這樣能快速驗證功能是否可行。
3.Streamlit 查詢介面改造
接著,我在 app.py 增加了一個下拉選單,讓使用者選擇想看的藥品類別:

category = st.selectbox("選擇藥品分類:", ["全部", "止痛藥", "感冒藥", "消炎藥", "胃藥", "保健品"])

if category != "全部":
    results = query_by_category(category)
else:
    results = query_all()

這樣使用者可以自由切換:

  • 全部藥品
  • 單一分類藥品

查詢結果的清單會自動更新。

測試案例

我在資料庫中放了三種藥:

  • 普拿疼(止痛藥)

  • 克冒(感冒藥)

  • 胃乳片(胃藥)

實測:

  • 選「全部」 → 顯示三種藥品

  • 選「止痛藥」 → 只顯示普拿疼

  • 選「胃藥」 → 只顯示胃乳片

功能完全符合需求,而且操作直觀。

心得

分類這件事看似小事,但對資訊系統來說卻是大升級。

沒有分類 → 資料就像一堆雜亂的清單,用戶要慢慢找。

有了分類 → 用戶能快速篩選出需要的範圍,再進行查詢或比較。

我覺得這次功能的加入,讓整個專案從一個單純的查詢工具,慢慢變成一個真正有資料庫系統思維的應用。

而且,這個分類功能也為未來的藥品比較打下基礎。因為要比較兩種藥,通常會是比較同類藥品的差異。現在有了分類,就能很容易找到比較對象。


上一篇
Day 16:爬蟲 + AI 整合 做智慧藥品資料庫
系列文
AI 藥師助手:打造人人都看得懂的藥品查詢系統17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言