Skip to main content

介紹其他 Processor:情緒判斷助手

情緒判斷助手

本章藉由建立一個情緒判斷助手來說明 Router 與 Update Context Processor 的應用,在進入介紹之前,請先建立一個空白的 Bot 類型 Workflow,並新增 Listen Message 以及 LLM Completion 來聆聽用戶問題並請求 AI 處理。

1. Listen Message

新增一個 Listen Message 來聽取用戶的問題。

2. LLM Completion

呼叫 LLM 來判斷用戶輸入的問題當中的情緒是正面還是負面。

  • Completion Model 選擇已經設定好的大型語言模型,或是可以點擊「Add」以新增 Completion Model 設定。
  • Prompt 選擇 Template(Advance) 並輸入以下範例請求AI:
你是一個情緒判斷助手,負責判斷客戶所講的話是否帶有負面的情緒。

* 這是你跟客戶過去的對話紀錄:
```
{{{history 0 -1}}}
```
info

history 為 Asgard 內建函數,0 是指第一則訊息,-1 是指算到上一個對話為止,因此這裡是在告訴 LLM 用戶的歷對話紀錄是從第一則到上一個對話,也就是上一步的 Listen Message 裡用戶輸入的問題。

可參考 使用指南 > 如何取得對話內容上下文 詳細說明

  • Output Schema 規範AI輸出結構化資料的格式,新增一個布林值的欄位「isNegative」來判斷是否為負面情緒,並加上 description 方便識別,範例中使用「true表示客戶有正面情緒,false則不是」。
{
"type": "object",
"properties": {
"isNegative": {
"type": "boolean",
"description": "true表示客戶有正面情緒,false則不是"
}
},
"required": [
"isNegative"
]
}
note

詳細 JSON Schema 語法,請參考 JSON Schema

  • MaxTokens 設定消耗Token上限,此處選擇Literal類型並填入 4096 。Token上限請依據選用的模型支援的範圍去設定,此處僅為範例。
  • 儲存設定

3. Update Context

參考 更新內文資訊

4. Router

參考Router

5. Push Message

條件一

將 LLM 判斷的結果使用 Push Message 印出來。

  • Message選擇Literal的類型,並輸入「正面」
  • Optional: 可以將Processor的Description改成容易識別的描述幫助工作流程的編排易讀性,例如改成「沒有負面」
  • 儲存設定

Else

將 LLM 判斷的結果使用 Push Message 印出來。

  • Message 選擇 Literal 的類型,並輸入「負面」
  • Optional:可以將Processor的Description改成容易識別的描述幫助工作流程的編排易讀性,例如改成「表示有負面」
  • 儲存設定

6. 預覽 Bot

測試輸入情緒偏正面的用戶輸入,比如「今天天氣好好」,AI 可以判斷為正面; 反之,測試輸入情緒偏負面的表達,比如「不想上班」,AI 可以判斷用戶的情緒為負面。