iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0

n8n時間

首先開啟右上角的+號,拿出一個Schedule Triggerhttps://ithelp.ithome.com.tw/upload/images/20250930/20177920i5eqBd9ObQ.png
再來由於中央氣象署給的api是get,這代表我們得要固定時間去檢查一下,但是因為他有流量限制,由於我不會計算,所以時間就選擇一分鐘觸發一次,
https://ithelp.ithome.com.tw/upload/images/20250930/201779201m6to6Wen9.png
再來http request,填入你的api位置,下面send Body ,自己改縣市
https://ithelp.ithome.com.tw/upload/images/20250930/20177920mMcMFogveh.png
接下來是右上角+號,搜尋code
https://ithelp.ithome.com.tw/upload/images/20250930/201779200VorNeJcdt.png
輸入這些

const thresholdMinutes = 0.5; # 時間在幾分鐘之內
const now = new Date().getTime(); // 轉成毫秒

const filteredQuakes = $input.all()
  .map(item => item.json.earthquakes || [])//每個ITEM中取出EARTHQUAKE
  .flat()
  .filter(quake => {
    const quakeTime = new Date(quake.origin_time).getTime();
    return (now - quakeTime) / 60000 <= thresholdMinutes;//轉成毫秒後比對時間
  })
  .map(quake => ({ json: quake }));//包裝回去

return filteredQuakes.length > 0 ? filteredQuakes : [];//如果沒有資料就不傳出,避免浪費gemini流量

gemini,一樣自己拉,模型選擇2.5flash,為了避免沒資料導致的無法進行prompt,這邊已經整理好要寫什麼了

你是一個地震安全助理。收到以下地震資料後,請查詢最新公開資料,並根據各區域震度給出安全建議:

時間: {{$json["origin_time"]}}
位置: {{$json["location"]}}
規模: {{$json["magnitude"]}}
深度: {{$json["depth"]}} 公里
座標: {{$json["latitude"]}}, {{$json["longitude"]}}

使用者地區
{{ $json.target_areas[0].area }}: 震度
{{ $json.target_areas[0].intensity }}
要求:
1. 根據每個區域的震度提供簡短、清楚、可操作的安全建議。
2. 使用官方或可靠來源的資訊作為依據。
3. 不要重複原始地震資料,只輸出建議。
4. 如果某個區域震度很低,可以給出「注意安全即可」類型的建議。

dc的部分只要在message那邊填入{{ $json.content.parts[0].text }}就好了https://ithelp.ithome.com.tw/upload/images/20250930/20177920jzgRJN88J7.png


上一篇
D15
下一篇
D17
系列文
這是一個一個一個 Python API 與 Gemini 整合、n8n入門指南18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言