iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
生成式 AI

利用n8n+AI打造個人助理系列 第 19

Day19 - 處理輸出格式,讓多種格式能順利傳到聊天室

  • 分享至 

  • xImage
  •  

今天要來處理的內容是:將工作流產生的圖片回傳至Line聊天室。

我們可以先看到Line的message api指南:

https://ithelp.ithome.com.tw/upload/images/20250905/2016946536pFmLIihL.png

我們需要一個照片連結跟一個預覽連結,才可以將圖片傳到LINE,所以我們需要一個可以存放照片,並且能公開連結的平台。

經過尋找之後,我認為使用「supabase」作為照片存儲的地方是最適合的,除了有免費方案以外,進行照片刪除也可以透過api進行,並且在n8n中也有節點可以使用,所以我選擇這個網站。

首先我們需要在圖生圖的工作流中新增這個流程:

https://ithelp.ithome.com.tw/upload/images/20250905/20169465VsKt8eSY67.png

可以看到流程被分成了兩個,判斷從Agent傳過來的query中是否有圖片的資訊,如果有的畫,則進入圖生圖流程,沒有的話則進入文生圖流程。生成圖片之後,就將圖片傳到supabase中:

https://ithelp.ithome.com.tw/upload/images/20250912/20169465wZjbyaBt1S.png

https://ithelp.ithome.com.tw/upload/images/20250905/20169465ocXkVFSOOb.png

完成上傳以後,再將網址從set節點組裝後回傳給Agent。

回到Agent工作流中,我們一樣再輸出的節點新增一個判斷條件,判斷Agent回傳內容中是否有圖片網址,有的話則回傳該網址:

https://ithelp.ithome.com.tw/upload/images/20250905/20169465k97obqERCh.png

接下來就要處理檔案大小的問題,由於Gemini2.0-flash-image-preview沒有提供指定解析度的功能,所以我們需一另外尋找替代方案,其中我發現n8n有一個內建的image節點,可以調整影像大小,不過我嘗試使用後發現他好像無法正常運作,因此我需要再尋找一個方案。

經過尋找以後,我發現可以使用tinyPNG來作為替代方案,每個月免費500次請求的額度也是夠用的,所以我們可以在圖生圖流程中先將圖片壓縮,再將回傳的網址一樣輸入至set中:

https://ithelp.ithome.com.tw/upload/images/20250905/20169465jAZWRaW2IQ.png

最終的結果會是這樣。這麼一來我們就可以把預覽圖片的大小壓縮至1mb以內了。如此一來我們就可以再回到Agent工作流中把最後的步驟完成:

https://ithelp.ithome.com.tw/upload/images/20250905/201694658joNg5im8t.png

將各項文字、網址的內容mapping到http request節點上,就可以成功回傳訊息了:

https://ithelp.ithome.com.tw/upload/images/20250905/20169465X2EuHEWTQj.png

這是在Line上面查看的結果(因為我忘記把測試時打上的任天堂星星刪掉,所以圖片會出現那顆星星)。

這樣一來我們就幾乎完成了這個助理的運作,剩下如果有甚麼想要補上的功能也會在明天一併說明。

今日小結:

今天我們把輸出格式的問題給解決了,這樣一來這個agent算是能夠運作了,接下來就要進入測試與除錯的環節,我們將會把這個agent能夠使用的功能都使用一遍,沒有問題時就可以正式啟用這個工作流了。


上一篇
Day18 - 為Agent接上工具(網路搜索、Email摘要)
下一篇
Day20 - 測試工作流是否能正常運行
系列文
利用n8n+AI打造個人助理30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言