Skip to main content

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:使用模板語法和內建函數組合提示內容

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

MaxTokens(必填)​

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

Await​

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

Temperature​

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

Thinking Budget​

(可選) 控制推理模型的思考成本,僅適用於推理模型。

Toolsets​

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

Toolsets Fault Tolerant​

(可選,預設為關閉) 當有設定 Toolsets 時,控制工具被調用出現錯誤時是否要進行容錯。啟用容錯模式後,錯誤可被安全的回傳給模型,提供模型判斷是否需要重試。

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

OpenAI Web Search Context​

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

Payload​

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

Template​

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

Blob IDs​

提供給模型分析的圖片或檔案 ID,可點擊 (+) 按鈕後新增多筆 Blob ID 資料。僅在使用支援視覺解析功能的 Completion Model 時可用。模型會根據這些內容進行分析並回應。

Blob IDs

Semantic Layer​

(可選) 選擇語意模型,提供給 AI 使用以進行資料查詢或操作。選擇模型後會顯示延伸的設定選項。

Semantic Layer Allow Query​

是否允許 AI 直接操作資料庫進行資料讀取,預設為關閉。只有在選擇「Semantic Layer」設定時,此選項才會顯示。

Semantic Layer Allow Write​

是否允許 AI 直接操作資料庫進行資料寫入,預設為關閉。只有在選擇「Semantic Layer」設定時,此選項才會顯示。

Semantic Layer Allowed Cubes​

(可選) 資料表白名單,可用於限制 AI 能操作的資料表,可多選。若無特定設定則預設全部皆可操作。只有在選擇「Semantic Layer」設定時,此選項才會顯示。

連接關係​

Success​

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

Failure​

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

使用範例​

AI 聊天機器人​


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

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

{{{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 模式支援內建函數如 history()、urlEncode() 等。

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