HI!大家好,我是 Shammi!😊
挑戰倒數三天!
這段時間我在 Colab 環境下打造的 SDGs 聊天機器人,已經越來越智慧了!在 Day 26,我深入思考了 Colab 的侷限性,並討論了將機器人「搬家」到更穩定雲端平台的重要性。今天,我將把這些理論付諸實踐,正式為我的 AI 聊天機器人找到一個真正的「家」!
我選擇的雲端平台是 Google Cloud Run。在今天的 Day 27,我將手把手地帶你了解,如何將我在 Colab 中開發的 Python AI 聊天機器人,實際部署到這個方便又強大的託管雲端平台上。這是一個讓我的機器人從「實驗品」正式走向「真實服務」的關鍵步驟!GOGOGO!
(嗯...我有保護好API key)
在眾多雲端平台中,我選擇 Google Cloud Run 的原因有以下幾點:
接著就開始著手進行將 Python AI 機器人從 Colab 搬到 Cloud Run,讓整個過程將變得更為直觀與簡潔。
在部署之前,請確保所有必要的檔案都在手邊,並且已經更新到最新版本:
main.py
):
requirements.txt
):
requirements.txt
檔案,列出機器人所依賴的所有 Python 套件。Flask, line-bot-sdk, google-generativeai, numpy, faiss-cpu, pypdf2, gunicorn
sdgs_faiss.index
和 stored_chunks.pkl
。重要:請確保這些檔案都放在同一個資料夾中,這是部署所需要的。
gcloud
)。如果尚未安裝,請參考 Google Cloud 官方文件進行安裝。都準備好後,執行一個簡單的指令,將所有檔案部署到 Cloud Run 上。這個指令會自動打包你的程式碼、安裝依賴,並建立一個可以運行的服務。
開啟終端機:依照部署流程,開始存放主程式 main.py
和其他檔案的資料夾。
執行部署指令:
gcloud run deploy ami-line-bot \
--image gcr.io/google-appengine/python \
--platform managed \
--region asia-east1 \
--allow-unauthenticated \
--set-env-vars GOOGLE_API_KEY='你的 Gemini API 金鑰',LINE_CHANNEL_ACCESS_TOKEN='你的 LINE 頻道存取金鑰',LINE_CHANNEL_SECRET='你的 LINE 頻道密鑰'
-image
:使用 Google App Engine 的官方 Python 映像檔,這樣 Cloud Run 就知道如何運行你的 Python 應用。-platform managed
:這會確保服務運行在完全託管的無伺服器環境中。-region asia-east1
:這會將服務部署在亞洲的伺服器,能有效減少延遲。-allow-unauthenticated
:由於 LINE 的 Webhook 請求沒有身份驗證,我們需要開啟這個選項。-set-env-vars
:這是最關鍵的部分!它會安全地將你的金鑰設定為環境變數,而不會讓它們暴露在程式碼中。gcloud
會在終端機中回傳 Cloud Run 服務網址。這個網址會像這樣:https://ami-line-bot-xxxxxxx-an.a.run.app
。/callback
)。https://ami-line-bot-xxxxxxx-an.a.run.app/callback
。今天的 Day 27,我成功地將我的 SDGs 智慧聊天機器人從 Colab 搬家到了 Google Cloud Run!這不僅解決了 Colab 的運行限制,也讓我的機器人能 24/7 不間斷地為推廣 SDGs 貢獻心力。這次的部署實戰經驗,讓我對雲端服務有了更深、更實務的理解。