iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
生成式 AI

打造自己的 AI 新聞小編:每天自動抓新聞、摘要、推送到 LINE!系列 第 6

【Day 5】串接 Gemini AI :幫新聞自動生成摘要的前置設定教學!

  • 分享至 

  • xImage
  •  

我希望我打開 LINE 看到新聞之後,就算我對某些新聞沒興趣、不想點進去看,也可以透過 AI 幫我摘要的內容,讓我大致了解世界正在發生的事。
如此一來,就算我沒有閱讀那則新聞的詳細內容,也不致於完全不知道有那件事的發生。
一種「有總比沒有好」的想法 (?

為什麼我選擇 Gemini 當摘要工具?

我有想過用 OpenAI 的 ChatGPT,或是透過 OpenRouter 使用裡面的 AI 模型,想了很多種方法後,
最後選擇 Google 的 Gemini 作為我此次新聞摘要的工具。

下面來分享一下我在抉擇其他 AI 工具時的想法:

  1. ChatGPT - 熟悉、活人感比較重、 n8n 有 OpenAI 的專用節點、有使用次數限制(免費版)、容易胡謅
  2. OpenRouter - 有很多模型可以選擇、基本上不需要擔心次數限制(這個模型免費次數用完了就改用另一個模型,但設定上會比使用單個模型麻煩)
  3. Gemini - 也算熟悉、免費方案的 Gemini 1.5 Flash 有使用限制但我的使用量不會超過

每個 AI 模型在使用上各有利弊,取決於你要拿來做什麼事情,不同領域的工作有不同的需求。
綜合下來,我最後選擇使用「Gemini 1.5 Flash 免費版」作為我此次的摘要工具!

選好工具後,就要開始動手啦~ 接下來會一步步帶你申請 Gemini 的 API Key,並說明怎麼在 n8n 裡完成認證設定。

Gemini 串接第一步:申請 API Key

步驟一:到 Get API key | Google AI Studio 點選右上的 「+ Create API key」

(記得要先登入你自己的 Google 帳號)

https://ithelp.ithome.com.tw/upload/images/20250812/20178067RThQIKnkyY.png

步驟二:點選下面的「🔑 Create API key in new project」

https://ithelp.ithome.com.tw/upload/images/20250812/20178067011RCTNSLL.png

步驟三:複製你的 key(長得像 AIza...)(不要給別人知道喔!)

Gemini 串接第二步:設定 n8n 憑證

步驟一:到主頁點選「Credentials」→ 「+ Add Credential」

https://ithelp.ithome.com.tw/upload/images/20250812/20178067uF06hIi1zP.png

步驟二:點選「Header Auth」→ 連結帳號

https://ithelp.ithome.com.tw/upload/images/20250812/201780670PSEvXEinl.png

步驟三:填寫資料

  1. Name: x-goog-api-key(HTTP 協定中,伺服器用來識別和驗證身份的指定鍵)
  2. Value: 你複製的那串key
  3. 按下儲存

https://ithelp.ithome.com.tw/upload/images/20250812/201780670Y1cbDk4xK.png

https://ithelp.ithome.com.tw/upload/images/20250812/20178067zNT4QR62KE.png

回到主頁看到有這樣一條憑證就代表你設定成功了!

Gemini 串接第三步: n8n 新增節點

Code 後面新增一個節點 HTTP Request

https://ithelp.ithome.com.tw/upload/images/20250812/20178067WWehZqfTEo.png

步驟一:設定基本請求

  1. Method: 選擇 Post
  2. URL: https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent(Google Gemini API 的官方端點)

步驟二:指定身分驗證和憑證

  1. Authentication: 選擇 Generic Credential Type
  2. Generic Auth Type: 選擇 Header Auth(我們剛剛設定的憑證)
  3. Header Auth: 選擇 Header Auth account (你可以點進欄位右邊筆的圖示,看看裡面是不是你剛剛創的憑證)

步驟三:點選 Headers 區塊

  1. Specify Headers: 選擇 Using Fields Below
  2. Header Parameters
    • Name: Content-Type
    • Value: application/json

步驟四:點選 Body 區塊

  1. Body Content Type: 選擇 JSON
  2. Specify Body: 選擇 Using JSON
  3. JSON: 輸入以下程式碼
{
	"contents": [
		{
			"parts": [
				{
					"text": "你是一位新聞編輯,請用不超過40字的中文摘要下面的新聞內容,簡潔、口語化,適合用在 LINE 推播。\n {{ $json.fullContent }}"
				}
			]
		}
	]
}

上面的程式碼符合 Gemini API 的 JSON 格式要求(下圖)
https://ithelp.ithome.com.tw/upload/images/20250812/20178067rkxPgHZKBH.png

注意!

此時你如果按下執行鍵,會看到右邊的 output 寫著與下圖類似的內容,這是正常的!因為現在程式碼裡面的 {{ $json.fullContent }} 是空的,我們還沒抓新聞全文,所以它沒辦法做摘要。

https://ithelp.ithome.com.tw/upload/images/20250812/20178067L5Lu3bcFwP.png

順便提醒一下,{{ $json.fullContent }} 要記得寫在 " " 內,我一開始沒注意到,所以後面在跑的時候出現錯誤,沒有抓到文章。

今天你成功做到與 Gemini 連結了,之後我們會再增加其他節點,讓 AI 能真正取得新聞全文做摘要。

下篇預告

明天(Day 6) 我會先介紹 HTML的格式,因為我們需要將新聞以 HTML 的樣子抓下來,下一步我們就要來取得新聞網頁的「完整 HTML 內容」,接著讓 AI 真正看懂一篇新聞,期待一下吧!


上一篇
【Day 4】LINE Bot Messaging API + n8n:打造跨平台新聞摘要推送
系列文
打造自己的 AI 新聞小編:每天自動抓新聞、摘要、推送到 LINE!6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言