跳至主要内容

Stream LLM Completion

Stream LLM Completion 是用於呼叫大型語言模型並產生串流式自然語言輸出的 processor。

基本用法

執行 Stream LLM Completion 時,會將設定的 Prompt 發送給指定的 Completion Model,模型會即時產生回應並以「逐字輸出」的方式呈現,模擬真人打字效果。此 processor 已內建訊息輸出功能,無需額外連接 Push Message。適用於需要自然對話體驗的 AI 聊天機器人、即時客服回應、互動式問答等場景。

配置參數

Name

顯示在畫布上的名稱,用於在工作流程中識別此 processor。

Description

用於補充此 processor 的用途,提升工作流程的可讀性。

Properties

Completion Model(必填)

選擇要使用的 Completion Model 資源名稱。需要先建立 Completion Model 資源,支援 OpenAI GPT、Claude、Gemini 等模型。

Prompt(必填)

發送給 AI 模型的提示詞,用於提供資料補充背景和必要的記憶。

設定類型

  • Literal:直接輸入固定提示內容
  • Expression:使用 JavaScript 表達式動態產生提示
  • Template:使用模板語法組合提示內容
  • Template (Advance):進階模板模式,支援複雜的模板語法和內建函數

詳細的取值方式說明請參考:Expression 介紹 - 取值方式

MaxTokens(必填)

設定模型提示 + 生成回應的最大 Token 數量,用於控制回應長度和成本。

ImageBlobId

提供給模型分析的圖片檔案 Blob ID,僅在使用支援視覺功能的 Completion Model 時可用。

Await

控制工作流程是否等待 LLM 完全輸出完成後才繼續執行。開啟時等待完整回應生成,關閉時模型開始輸出第一個 Token 就繼續執行。

Temperature

(可選) 模型的溫度值,控制回答的隨機性。數值越高,回答越隨機多樣;數值越低,回答越確定一致。數值範圍限制隨著使用的 completion model 會有所不同,需依照該模型的限制填入。省略時會自動採用模型的預設值。注意:某些模型不支援溫度值參數,請勿在此類模型中設定此欄位。

Toolsets

(可選) 模型可以使用的 toolset 名稱,可從下拉選單選擇。當有設定 toolsets 時,會賦予模型調用這些工具集之下的所有工具。多數情況下,為了使模型更清楚何時該正確的調用何種工具,建議也要於 prompt 處進行向模型相關的調用說明。

(可選) 是否啟用 OpenAI Web Search 功能。僅限支援 Web Search 的 OpenAI 模型使用。啟用後,模型可搜尋網路資訊來回答問題。(詳細資訊可參考:OpenAI 官方文件)

OpenAI Web Search Context

(可選) 控制從網路檢索多少內容來協助工具產生回應。可選值:'low'(低)、'medium'(中)、'high'(高)。只有在啟用「Enable OpenAI Web Search」設定時,才可以進一步設定此設定值。

Payload

附加的資料內容或元資料,可包含額外的結構化資料供前端使用。

isDebug

標記此訊息是否為除錯用途,預設值為 false

Template

Message template 設定,用於定義輸出訊息的呈現格式,可設定按鈕、圖片、快速回覆等豐富的訊息格式。

連接關係

Success

  • Await 模式:當 AI 模型完全生成完整回應後,工作流程會從此連接點繼續執行
  • Non-Await 模式:當 AI 模型開始生成第一個 Token 時,工作流程立即從此連接點繼續執行

Failure

當 AI 模型呼叫失敗時,工作流程會從此連接點繼續執行,並產生 prevError 變數儲存錯誤資訊。

使用範例

AI 聊天機器人


建立即時回應的 AI 聊天機器人,使用串流輸出提供自然的對話體驗。Prompt 使用 Template (Advance) 結合對話歷史:

你是友善的助手,請根據以下對話歷史回應使用者:

{{{history -5 -1}}}

使用者:{{{prevMessage}}}
助手:

客服自動回應


基於知識庫搜尋結果生成客服回應。結合 Retrieve Knowledge 的結果,使用 Await 模式確保完整回應後再記錄:

根據以下知識庫資料回答使用者問題:

{{#each result}}
- {{this.content}}
{{/each}}

使用者問題:{{{prevMessage}}}

請提供專業且友善的回答。

即時翻譯助手


提供即時翻譯服務,使用 Non-Await 模式提供快速回應。Prompt 使用 Literal 設定:

請將以下文字翻譯成繁體中文,保持原意並使用自然的表達方式:

程式碼解釋器


程式碼解釋和教學助手,使用 Await 模式確保完整解釋後提供額外資源。結合程式碼分析和教學指導:

請詳細解釋以下程式碼的功能、邏輯和關鍵概念:

{{{prevMessage}}}

請用淺顯易懂的方式說明,適合初學者理解。

注意事項

  1. 此 processor 已包含訊息輸出功能,無需額外連接 Push Message。

  2. 輸出會以逐字顯示的方式呈現,提供更自然的對話體驗。

  3. Await 模式適用於需要完整回應後再進行後續處理的場景。

  4. Non-Await 模式適用於需要快速回應或並行處理的場景。

  5. 建議連接 Failure 分支,處理 API 呼叫失敗的情況。

  6. MaxTokens 設定會影響回應的長度和串流輸出時間。

  7. Template (Advance) 模式支援內建函數如 history()urlEncode() 等。

  8. 使用 ImageBlobId 時,確保選用的 Completion Model 支援視覺功能。