iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0
AI Engineering

30 天從資料處理、分析到生成式 AI 的整合應用與實作學習系列 第 11 篇

如何串接 API!? 讓Java 跟 Gemini 可以直接溝通

  • 分享至 

  • xImage
  •  

今天的學習目標就是嘗試把 Gemini 連接到我的 Java 程式中。

在開始之前先了解一下什麼是API:

API 是一個在不同軟體間可以溝通的工具,簡單來說就像是不同軟體之間的橋樑,讓一個程式可以向另一個程式提出需求,並取得對方回傳的資料或功能。整個流程就會是Java → Request → Gemini API → Response → Java。

API Key:

目前使用的是 Google AI Studio 裡的 Gemini API Key。

API Key 就是在呼叫 Gemini API 時使用的憑證。要特別注意的是不能直接把真正的 API Key 公開在程式碼裡。
而為了避免之後把程式碼上傳到 GitHub,API Key 也會一起被公開出去。我需要另外設定了環境變數,把真正的 Key 藏在電腦的環境設定裡 "env":{ "GEMINI_API_KEY":...},而程式只負責讀取 String apiKey = System.getenv("GEMINI_API_KEY");,這樣就可以把程式碼和真正的 Key分開。

建立 Java 的 Request

新增 GeminiService.java,負責 Java 和 Gemini API 之間的連線。在 HttpClient 可以更清楚的了解HttpRequest如何傳送到指定的 API,以及傳送內容 Request 包含的方法:如 URI 是要把資料送到哪裡,Header 告訴 API 傳送的資料格式,以及POST 把準備好的 JSON 內容送出去。

Prompt 轉成 JSON

Gemini API 接收的資訊並非一般文字,而是需要以 JSON 格式傳送。因此文字內容需要被放進指定的 JSON 結構,再透過 HTTP Request 傳送。這裡學到可以使用 escapeJson() 來處理換行、雙引號等特殊字元,避免 JSON 的格式被文字破壞。

接收 Gemini 的 Response

Request 傳出去後,接下來就是等待 Gemini 回傳 Response:
https://ithelp.ithome.com.tw/upload/images/20260924/20184235ZHOOO0YIxP.png
加入簡單的 responseText ,如果連結成功就讓gemini回傳一句話最後成功收到 Gemini 回傳的內容:
https://ithelp.ithome.com.tw/upload/images/20260924/201842356jFvy4ZWdb.png

還有一個小地方要注意,就是有時候因為已經開啟的終端機或 VS Code ,它不一定會馬上讀到新設定的環境變數,所以在設定完成後需要重新開啟程式或終端機,再重新執行!


上一篇
Gemini 為什麼會自己腦補?從 Prompt 開始調整
系列文
30 天從資料處理、分析到生成式 AI 的整合應用與實作學習 共 11 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言