昨天我檢驗了 AI 的白話翻譯效果,發現它確實能讓專業藥品資訊更容易理解,但也有資訊過度簡化的問題。
今天我想更進一步,讓專案具備兩個新功能:
1.文字翻譯功能 → 把藥品資訊翻成英文、日文等多國語言。
2.關鍵字搜尋功能 → 讓使用者輸入藥名或症狀,就能快速找到需要的藥品。
這樣不僅能幫助中文使用者,也能照顧到外國朋友,讓藥品資訊看得懂也能找的到找得到。
測試資料,延續普拿疼(Acetaminophen)的白話版本:
成分:一顆藥裡有 500 毫克的止痛成分
用途:常見的止痛藥,頭痛、牙痛或經痛都能用
副作用:有時會想吐或長疹子,如果吃太多會傷肝
小提醒:喝酒時不要吃,長期吃很多會出問題
import openai
prompt = """
請將以下藥品資訊翻譯成英文與日文:
成分:一顆藥裡有 500 毫克的止痛成分
用途:常見的止痛藥,頭痛、牙痛或經痛都能用
副作用:有時會想吐或長疹子,如果吃太多會傷肝
小提醒:喝酒時不要吃,長期吃很多會出問題
"""
response = openai.ChatCompletion.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}]
)
print(response["choices"][0]["message"]["content"])
英文版:
日文版:
我把 Day 9 爬取的藥品資料整理成 Python 字典:
drugs = [
{
"名稱": "普拿疼",
"成分": "Acetaminophen 500mg",
"用途": "緩解輕至中度疼痛,如頭痛、牙痛、經痛",
"副作用": "肝功能異常、皮疹、噁心",
"注意事項": "避免與酒精同時使用,避免長期大量服用"
},
{
"名稱": "布洛芬",
"成分": "Ibuprofen 200mg",
"用途": "緩解發炎或疼痛,如肌肉痛、關節痛、牙痛",
"副作用": "胃不適、頭暈、過敏反應",
"注意事項": "飯後服用,避免與酒精同時使用"
}
]
def search_drug(keyword):
results = []
for drug in drugs:
if keyword.lower() in drug["名稱"].lower() or \
keyword.lower() in drug["用途"].lower():
results.append(drug)
return results
#測試
keyword = input("請輸入關鍵字搜尋藥品:")
found = search_drug(keyword)
if found:
for d in found:
print(f"藥品名稱:{d['名稱']}")
print(f"用途:{d['用途']}")
print(f"副作用:{d['副作用']}")
print(f"注意事項:{d['注意事項']}\n")
else:
print("找不到符合的藥品。")
搜尋「頭痛」 → 找到 普拿疼
搜尋「肌肉痛」 → 找到 布洛芬
使用者只要輸入一個症狀或藥名,就能快速找到相關藥品。
今天的實作讓我體會到:
AI 翻譯 → 幫助突破語言隔閡。
關鍵字搜尋 → 幫助快速定位資訊。
兩者結合 → 讓智慧藥品助理更完整,解決資訊正確性與資訊可用性的問題。
未來我會把這些功能包裝成一個小型的 API,讓專案能提供「查藥品 → 看白話翻譯 → 切換語言」的完整體驗。