iT邦幫忙

2025 iThome 鐵人賽

DAY 27
0
生成式 AI

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

Day27 - 更新修正agent輸出格式

  • 分享至 

  • xImage
  •  

從agent工作流建立完成以後,我都是使用另一個語言模型來修正主要agent所輸出的內容,也就是會判斷輸出的內容有沒有圖片的網址,來將內容格式化:

{
	"output":"",
	"address":"",
	"preview_address":""
}

但是不知道是我的提示詞下得不好,還是這個做法本身就不夠穩定,因此有時候會有輸出時語言模型不遵照這個格式來輸出,所以我打算也使用js來格式化這些內容,保證整體輸出的穩定性。

首先因為我真的不太熟悉js,所以我詢問了chatGPT,得到了這樣的解答:

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

總之這個方法是可行的,所以我們就先用function節點來測試看看:

function parseLinks(text) {
  const urlRegex = /(https?:\/\/[^\s]+)/g;
  const urls = text.match(urlRegex) || [];

  let address = null;
  let preview_address = null;
  let normalText = text;

  for (const url of urls) {
    if (url.includes("supabase.co/storage")) {
      address = url;
      normalText = normalText.replace(url, "").trim();
    } else if (url.includes("tinify.com/output")) {
      preview_address = url;
      normalText = normalText.replace(url, "").trim();
    }
  }

  return {
    output: normalText,
    address,
    preview_address
  };
}

return items.map(item => {
  const text = $input.first().json.output || "";

  const result = parseLinks(text);

  return {
    json: result
  };
});

像這樣貼上程式碼後,再讓agent生成一張圖片試試看:

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

可以看到輸出的結果一樣是順利的。

這樣就完成了修改,整個工作流也會變更穩定。


上一篇
Day26 - 調整圖生圖工作流
下一篇
Day28 - 研究Line的「自動回覆」
系列文
利用n8n+AI打造個人助理30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言