在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 中,讓你的程式碼保持乾淨和安全。