iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0

一、建立 Dify 聊天助手

1. 新建聊天應用

  1. 登入 Dify 平台
  2. 點選左上角 「新建應用程式 (Create App)」 → 選擇 「聊天助手 (Chatbot)」
  3. 輸入名稱(例如:LINE Bot 模擬助手) → 按下建立

2. 設定提示詞 (Prompt)

  1. 在左側選單中點擊「提示詞 (Prompt)

  2. 在系統提示中輸入 AI 的角色設定,例如:

    你是一個友善的 LINE 聊天機器人,會以自然、親切的方式回答問題。
    
  3. 按右上角「儲存」

3. 取得 API 金鑰

  1. 點左側「訪問 API (API Access)

  2. 點右上角 「建立 API 金鑰」 → 複製該金鑰(稍後要貼進 n8n)

    例:Bearer dify-xxxxxxxxxxxxxxxx

二、在 n8n 建立模擬 LINE Bot 的流程

這個流程的邏輯是:
「模擬 LINE 傳訊息」→ Webhook 接收 → 呼叫 Dify → 抽取回覆 → 回傳結果。

Webhook 節點:接收模擬訊息

  1. 新增 Webhook 節點
  2. 設定如下:
項目 設定值
HTTP Method POST
Path line-simulate
Authentication None
Respond Using “Respond to Webhook” Node
Response Data First Entry JSON

測試網址:

http://localhost:5678/webhook-test/line-simulate

HTTP Request 節點:呼叫 Dify API

  1. 新增 HTTP Request 節點,接在 Webhook 之後
  2. 設定如下:
項目
Method POST
URL https://api.dify.ai/v1/chat-messages
Authentication None
Headers Authorization: Bearer <你的金鑰>Content-Type: application/json
Body Content Type JSON
JSON Body
{
  "inputs": {},
  "query": "={{$json['body']['message']}}",
  "response_mode": "blocking",
  "user": "line-sim-user"
}

Set 節點:取出 AI 回覆

  1. 新增 Set 節點

  2. Mode 選 JSON

  3. 點「Add Field」 → 輸入:

    • Name: reply
    • Value: ={{$json["answer"]}}

這樣它就只會保留 AI 回覆內容。

Respond to Webhook 節點:回傳結果

  1. 新增 Respond to Webhook 節點
  2. 設定:
項目
Respond With First Incoming Item

這樣整個回覆會回傳成 JSON 格式,例如:

{
  "reply": "今天天氣很好喔 "
}

三、PowerShell 模擬 LINE 傳訊息

啟用 Workflow

  • 點「Activate」啟用工作流程(綠燈亮起)

PowerShell 測試命令

$json = '{"message":"你好,我想知道今天天氣"}'
Invoke-RestMethod -Uri "http://localhost:5678/webhook-test/line-simulate" `
  -Method POST `
  -Headers @{ "Content-Type" = "application/json; charset=utf-8" } `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($json))

成功結果範例

在 PowerShell 中會回傳:

{
  "reply": "你好~目前是晴朗的天氣,很適合出門走走。"
}

上一篇
Day 24
系列文
從零開始 : 學習運用 n8n 與 Dify 的 AI 自動化實戰25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言