昨天成功讓 Java 和 Gemini API 連線,並且先用一句簡單的文字確認 Gemini 可以正常回傳結果。今天的學習目標就是把原本測試用的文字換掉,正式把前面產生的 sleep_summary_report.txt 傳給 Gemini,讓它可以直接根據 Java 的分析結果進行解讀。
Paths.get(filePath) 來找到指定的檔案位置,再透過 Files.readString() 把 .txt 裡面的內容讀取成字串。另外這裡一樣指定 UTF-8,避免前面遇過的中文亂碼問題。
原先為了方便,直接把之前設定好的 prompt 直接放入程式碼裡面,由於考慮到 Prompt 可能會一直修改的內容,最後還是額外新增一個 .txt 檔方便修改。這樣之後就只需要修改 prompt.txt,不用每次都去更動 Java 程式碼。
測試過程中遇到 HTTP 503 的問題,從錯誤訊息了解到是伺服器暫時過載的問題。於是加入了簡單的 Retry 重試機制,避免遇到暫時性的錯誤時程式就直接結束,而是讓程式先自動等待一段時間後再次發送 Request。
最後 Gemini 成功跑出回應: