iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
生成式 AI

智慧旅遊顧問--結合 LLM 與 RAG 架構的台灣旅遊資訊助手系列 第 17

【Day17】錯誤處理與安全性-打造穩健的程式

  • 分享至 

  • xImage
  •  

一、程式碼中的防護網

在AI專案中,不僅要追求功能強大,更要確保程式碼穩健可靠。AI導遊仰賴外部API服務,這些服務隨時可能因網路問題、金鑰過期或服務超載而失敗,於是我們要學習如何為程式加上堅固的防護網。

使用 try...except 捕捉錯誤
程式碼中最基本的防護措施就是 try...except 區塊。在呼叫外部服務時,我們必須預期各種錯誤,例如網路連線失敗或 API 返回錯誤狀態碼。

應該要將所有關鍵的 API 呼叫放入 try 區塊中,並在 except 區塊中捕捉錯誤,然後給予使用者友善的提示,而不是讓程式直接崩潰。

try:
  # 呼叫 API
  response = requests.get(api_url)
  response.raise_for_status() # 檢查 HTTP 錯誤
  # 處理成功的回覆
except requests.exceptions.RequestException as e:
  st.error(連線失敗,錯誤訊息:{e}")

二、保護金鑰

安全性是專業專案的基礎。絕對不要將 API 金鑰直接寫在 Python 程式碼中。如果程式碼不小心外洩,金鑰將會被盜用。

正確的做法是使用 Streamlit 提供的 .streamlit/secrets.toml 文件來安全儲存機密資訊。Streamlit 會自動讀取並將這些金鑰注入到 st.secrets 中,讓你的程式碼保持乾淨和安全。


上一篇
【Day16】Streamlit UI基礎介紹
系列文
智慧旅遊顧問--結合 LLM 與 RAG 架構的台灣旅遊資訊助手17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言