介紹其他 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 可以判斷用戶的情緒為負面。