本指南將幫助您設置並部署LINE聊天機器人,使其能夠處理Google Drive上的PDF文件並與Gemini API整合。
- LINE開發者帳號及頻道設置
- Google Cloud Platform帳號及專案
- Google Drive API和服務帳號憑證
- Gemini API密鑰
- Python 3.10+和pip
- 開發階段:ngrok
-
登入LINE開發者控制台 (https://developers.line.biz/)
-
創建一個提供商和頻道(Channel)
-
獲取Channel Access Token和Channel Secret
-
在Webhook設置中,啟用Webhook並設置URL為
https://您的伺服器網址/callback,這裡的『您的伺服器網址』可從ngrok的Endpoints取得。此部分在每次執行命令『ngrok http http://localhost:8080』後,會自動顯示,每次重新執行都會重新分配。
- 登入Google Cloud Console (https://console.cloud.google.com/)
- 創建新項目或選擇現有項目
- 啟用Google Drive API
- 創建服務帳號並下載JSON格式的憑證文件
- 在Google Drive中,將您的PDF文件("RAG測試.pdf")共享給該服務帳號的電子郵件地址,並記下文件ID
- 登入Google AI Studio (https://ai.google.dev/)
- 創建或使用現有的API密鑰
- 確保有足夠的配額可用於Gemini 2.5 Pro Preview 03-25版本
創建一個requirements.txt文件,包含以下依賴項:
flask==2.0.1
line-bot-sdk==2.0.1
google-api-python-client==2.47.0
google-auth==2.6.0
google-auth-httplib2==0.1.0
google-auth-oauthlib==0.5.1
google-generativeai==0.3.0
python-dotenv==0.19.2
gunicorn==20.1.0
然後運行:
pip install -r requirements.txt- 將服務帳號憑證文件保存到您的專案目錄
- 創建
.env文件,參考範例格式填寫相關設定
- 運行您的Flask應用:
python app.py- 使用ngrok等工具將本地端口暴露給外網:
ngrok http 8000- 使用LINE應用程序向您的BOT發送消息
- 確認BOT能夠接收消息、讀取PDF並回應
- 檢查日誌以確認一切運行正常
-
Webhook驗證失敗
- 確認URL是否正確
- 確認Channel Secret是否正確設置
-
Google Drive讀取失敗
- 檢查服務帳號是否有權限訪問該文件
- 確認文件ID是否正確
-
Gemini API錯誤
- 檢查API密鑰是否有效
- 確認是否有足夠的配額
-
LINE消息發送失敗
- 確認Channel Access Token是否正確
- 檢查是否超過了LINE API的限制
- 永遠不要直接在代碼中硬編碼敏感信息
- 使用環境變量或安全的密鑰管理服務
- 考慮實施速率限制以防止濫用
- 定期更新依賴項以修復安全漏洞
