LLM Completion
LLM Completion 是用於呼叫大型語言模型並產生結構化資料輸出的 processor。
基本用法
執行 LLM Completion 時,會將設定的 Prompt 發送給指定的 Completion Model,模型會根據提示內容生成回應,並按照 Output Schema 定義的格式輸出結構化資料。適用於文字分析、內容生成、決策輔助、情境判斷、資料提取等需要 AI 智能處理的場景。
配置參數
Name
顯示在畫布上的名稱,用於在工作流程中識別此 processor。
Description
用於補充此 processor 的用途,提升工作流程的可讀性。
Properties
Completion Model(必填)
選擇要使用的 Completion Model 資源名稱。需要先建立 Completion Model 資源,支援 OpenAI GPT、Claude、Gemini 等模型。
Prompt(必填)
發送給 AI 模型的提示詞,用於描述任務背景與要求。提供資料補充背景和必要的記憶即可,AI 的生成任務目標格式會由 Output Schema 給定。
設定類型
- Literal:直接輸入固定提示內容
- Expression:使用 JavaScript 表達式動態產生提示
- Template:使用模板語法組合提示內容
- Template (Advance):進階模板模式,支援複雜的模板語法和內建函數
詳細的取值方式說明請參考:Expression 介紹 - 取值方式
Output Schema(必填)
定義 AI 模型輸出資料的 JSON Schema 格式,確保 AI 回應符合預期的結構化格式。最外層一定是一個 object。
MaxTokens(必填)
設定模型提示 + 生成回應的最大 Token 數量,用於控制回應長度和成本。
ImageBlobId
提供給模型分析的圖片檔案 Blob ID,僅在使用支援視覺功能的 Completion Model 時可用。
Temperature
(可選) 模型的溫度值,控制回答的隨機性。數值越高,回答越隨機多樣;數值越低,回答越確定一致。數值範圍限制隨著使用的 completion model 會有所不同,需依照該模型的限制填入。省略時會自動採用模型的預設值。注意:某些模型不支援溫度值參數,請勿在此類模型中設定此欄位。
Toolsets
(可選) 模型可以使用的 toolset 名稱,可從下拉選單選擇。當有設定 toolsets 時,會賦予模型調用這些工具集之下的所有工具。多數情況下,為了使模型更清楚何時該正確的調用何種工具,建議也要於 prompt 處進行向模型相關的調用說明。
Enable OpenAI Web Search
(可選) 是否啟用 OpenAI Web Search 功能。僅限支援 Web Search 的 OpenAI 模型使用。啟用後,模型可搜尋網路資訊來回答問題。(詳細資訊可參考:OpenAI 官方文件)
OpenAI Web Search Context
(可選) 控制從網路檢索多少內容來協助工具產生回應。可選值:'low'(低)、'medium'(中)、'high'(高)。只有在啟用「Enable OpenAI Web Search」設定時,才可以進一步設定此設定值。
連接關係
Success
當 AI 模型成功生成回應時,工作流程會從此連接點繼續執行。輸出的變數會根據 Output Schema 定義的結構產生,所有 Schema 中定義的 properties 都會成為新的變數名稱。
Failure
當 AI 模型呼叫失敗時,工作流程會從此連接點繼續執行,並產生 prevError
變數儲存錯誤資訊。
使用範例
客服情境判斷
判斷使用者輸入是否為客服相關問題。使用 Template (Advance) 設定 Prompt:
你是客服分類助手,需要判斷使用者的問題類型。
使用者訊息:{{{prevMessage}}}
請分析這個訊息並分類。
Output Schema:
{
"type": "object",
"properties": {
"isCustomerSupport": {
"type": "boolean",
"description": "是否為客服相關問題"
},
"category": {
"type": "string",
"description": "問題類別"
}
},
"required": ["isCustomerSupport", "category"]
}
資料提取與分析
從外部 API 資料中提取關鍵資訊。使用 Expression 設定 Prompt:
'請分析以下資料並提取關鍵資訊:\n\n' + JSON.stringify(httpResponse.json);
Output Schema:
{
"type": "object",
"properties": {
"summary": {
"type": "string",
"description": "資料摘要"
},
"keyPoints": {
"type": "array",
"items": { "type": "string" },
"description": "關鍵重點清單"
},
"confidence": {
"type": "number",
"description": "信心分數 0-1"
}
},
"required": ["summary", "keyPoints", "confidence"]
}
圖片內容分析
使用支援視覺的模型分析使用者上傳的圖片。設定 ImageBlobId 使用 Expression:
prevBlobs && prevBlobs.length > 0 ? prevBlobs[0].blobId : null;
Prompt:
請分析這張圖片的內容,描述你看到的物體、場景和重要細節。
Output Schema:
{
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "圖片描述"
},
"objects": {
"type": "array",
"items": { "type": "string" },
"description": "識別出的物體清單"
},
"scene": {
"type": "string",
"description": "場景類型"
}
},
"required": ["description"]
}
對話歷史分析
基於對話歷史分析使用者需求趨勢。使用 Template (Advance) 取得對話歷史:
請分析以下對話歷史,了解使用者的需求模式:
{{{history 0 -1}}}
目前訊息:{{{prevMessage}}}
Output Schema:
{
"type": "object",
"properties": {
"userIntent": {
"type": "string",
"description": "使用者意圖"
},
"emotionalState": {
"type": "string",
"enum": ["positive", "neutral", "negative"],
"description": "情緒狀態"
},
"topics": {
"type": "array",
"items": { "type": "string" },
"description": "討論主題"
}
},
"required": ["userIntent", "emotionalState"]
}
注意事項
-
AI 模型呼叫會產生費用,合理設定 MaxTokens 以控制成本。
-
根據任務需求選擇適合的 Completion Model,考慮處理能力、成本和回應速度。
-
清晰明確的 Prompt 有助於獲得更好的 AI 回應品質。
-
Output Schema 必須是有效的 JSON Schema,建議使用線上工具驗證格式正確性。
-
建議連接 Failure 分支,處理 API 呼叫失敗或模型回應格式錯誤的情況。
-
使用 ImageBlobId 時,確保選用的 Completion Model 支援視覺功能。
-
Template (Advance) 模式支援內建函數如
history()
、urlEncode()
等,可靈活運用。 -
生成的變數名稱對應 Output Schema properties 中定義的欄位名稱。