對於 Streamlit/Python 專案來說,市面上有幾種主流的部署方案:
Streamlit Cloud:對於純 Streamlit 專案非常友好。但如果專案需要依賴 FAISS 知識庫和較大的 Gemma 模型權重,它在環境配置和資源限制上可能會比較吃緊。
Heroku/Render:這類平台提供了簡單的環境配置,但對於需要較大記憶體或長時間運算的 AI 專案來說,成本可能會迅速增加。
Google Cloud Run (推薦):全代管的無伺服器容器平台,支援前一天準備好的 Docker 容器。
Cloud Run優勢:
容器化支援:Cloud Run 直接運行 Docker 容器,這確保了專案環境的絕對一致性,避免了環境差異導致的錯誤。
成本效益與擴展性:它採用無伺服器架構,只在處理請求時才收費,能大幅降低閒置成本。同時,它能根據流量自動擴展,輕鬆應對使用者突然增長的需求。
雖然 Cloud Run 主要依賴 Dockerfile,但仍需準備服務的必要配置。對於 Streamlit 應用程式來說需要指定容器監聽的端口,並確保服務能順利啟動。