Skip to main content
應用開發

工作流程應用

工作流程應用將複雜的任務拆分成一系列有序執行的步驟,以降低系統複雜度。在阿里雲百鍊,通過工作流程組合使用大模型、API和Function Compute等節點,可有效降低編碼成本。本文介紹如何建立工作流程。

應用介紹

為什麼使用工作流程應用

工作流程是一種將複雜任務拆分為一系列有序步驟的方法,旨在簡化系統複雜度,提高工作效率。在現代軟體開發和商務程序管理中,工作流程應用變得尤為重要。通過在阿里雲百鍊平台上建立工作流程應用,可以清晰地定義任務的執行順序、責任分配以及各步驟之間的依賴關係,從而實現自動化和最佳化。 工作流程應用有許多使用情境,如:
  • 旅行規劃:使用者可通過工作流程外掛程式選擇目的地等參數,自動產生旅行計劃,包括航班、住宿、景點推薦等。
  • 報告分析:針對複雜資料集,通過組合資料處理、分析和可視化外掛程式,產生結構化和格式化的分析報告,滿足不同業務需求。
  • 客服支援:通過自動化工作流程處理客戶諮詢,包括問題分類等,提高客服響應速度和準確性。
  • 內容創作:實現文章、市場營銷文案等內容的產生,使用者只需輸入主題和要求,系統自動產生符合要求的文稿。
  • 教育培訓:通過工作流程設計個人化學習方案,包括學習進度跟蹤、測評等,實現學生的自主學習。
  • 醫學問診:根據患者輸入的癥狀,通過組合多種分析工具產生初步診斷或推薦相關檢查,輔助醫生進行進一步判斷。

具體案例

案例一 識別詐騙資訊

本案例以建立一個判斷簡訊是否涉及電信詐騙的工作流程應用為例進行說明,需要用到開始節點、大模型節點和結束節點。
  1. 訪問應用管理頁面,單擊创建应用>工作流应用,填寫應用程式名稱後單擊立即创建
  1. 添加大模型節點,用於識別詐騙資訊。 將左側大模型節點拖入畫布配置頁面,在其配置面板中配置以下參數。未提及的參數保持預設即可。
    1. 模型配置: 選擇千問-Plus-latest
    2. 提示词:
      分析並判斷所給資訊是否存在詐騙嫌疑。給出肯定答案,是否存在詐騙嫌疑。
       處理要求:細緻審查資訊內容,關注關鍵詞彙和典型詐騙模式,如請求緊急轉賬、提供個人資訊、承諾不切實際的利益等。
      操作步驟:
      1. 識別資訊中的關鍵要素,包括但不限於寄件者身份、提出的請求、承諾的回報及任何緊迫性表述。
      2. 對比已知的詐騙案例特徵,檢查資訊中是否有類似的操作手法或語言模式。
      3. 評估資訊的整體合理性,考慮所提要求是否符合常規邏輯和常規流程。
      4. 若資訊中包含連結或附件,不要直接點擊或下載,以避免潛在的安全風險,並提醒使用者注意此類內容的危險性。
      輸出格式:明確指出該資訊是否展現出詐騙的特徵,並簡要說明判斷依據。如果存在詐騙嫌疑,提供一些建議或預防措施以保護使用者安全。
      
    3. 用户提示词:
      判斷“${sys.query}”該資訊是否涉嫌詐騙資訊。
      
    配置完成後關閉面板,再串連開始節點和大模型節點。
p910525
  1. 串連大模型節點和結束節點。再單擊結束節點,在其配置面板的編輯框中輸入/插入變數大模型1/result,未提及的參數保持預設即可。
p910524
配置範例:
image
  1. 單擊右上方测试,輸入你的包裹已在驛站存放多日未提取,請抽空過來取件,單擊image。等待工作流程運行結束後,查看輸出結果。
image
  1. 繼續輸入你有一條中獎100萬的資訊,請查收,單擊image。等待工作流程運行結束後,查看輸出結果。
image

案例二 智能導購

本案例將使用工作流程建立一個智能導購員,可協助使用者選購手機、電視和冰箱,需要用到開始節點、意圖分類節點、大模型節點和結束節點。
  1. 訪問應用管理頁面,單擊创建应用>工作流应用,填寫應用程式名稱後單擊立即创建
  1. 將左側意图分类節點拖入畫布,在其配置面板中配置以下參數。未提及的參數保持預設即可。
    • 输入变量:選擇内置变量query
    • 模型选择:選擇千問-Plus-latest
    • 意图分类:單擊添加意圖,分別添加以下3個意圖
      • 消費者想選購電視
      • 消費者想選購手機
      • 消費者想選購冰箱
    • 记忆:讓模型在對話中記住之前的聊天內容。單擊啟用image,選擇自定义缓存
      本節點緩衝:模型只記得當前節點內的聊天內容。
      自訂緩衝:模型會記得全域的聊天內容。
    配置完成後關閉面板,再串連開始節點和意圖分類節點。
p910523
  1. 將左側大模型節點拖入畫布,在其配置面板中配置以下參數。未提及的參數保持預設即可。配置完成後關閉面板,串連意圖分類的消費者想選購冰箱大模型節點。
    • 模型配置:選擇千問-Plus-latest
    • 提示词
      你是負責給顧客推薦冰箱的智能導購員。
      你需要按照下文中【冰箱的參數列表】中的順序來主動詢問使用者需要什麼參數的冰箱,一次只能問一個參數,不要對一個參數進行重複提問。
      如果使用者告訴了你這個參數值,你要繼續詢問剩餘的參數。
      如果使用者詢問這個參數的概念,你要用你的專業知識為他解答,並繼續向他詢問需要哪個參數。
      如果使用者有提到不需要繼續購買商品,請輸出:感謝光臨,期待下次為您服務。
      【冰箱的參數列表】
      1.使用情境:【家用、小型商用、大型商用】
      2.容量:【200L、300L、400L、500L】
      3.能效等級:【一級能效、二級能效、三級能效】
      如果【參數列表】中的參數都已收集完畢,你要問他:“請問您是否確定購買?”並同時將顧客選擇的參數資訊輸出,如:用於小型商用|300L|一級能效。問他是否確定需要這個參數的冰箱。如果顧客決定不購買,要問他需要調整哪些參數。
      如果顧客確定這個參數符合要求,你要按照以下格式輸出:
      【使用情境:家用,容量:300L,能效等級:一級能效】。請你只輸出這個格式的內容,不要輸出其它資訊。
      
    • 用户提示词
      使用者的問題是:${sys.query}
      
    • 记忆:讓模型在對話中記住之前的聊天內容。單擊啟用image,選擇自定义缓存
p910522
  1. 將左側大模型節點拖入畫布,在其配置面板中配置以下參數。未提及的參數保持預設即可。配置完成後關閉面板,串連意圖分類的消費者想選購電視大模型節點。
    • 模型配置:選擇千問-Plus-latest
    • 提示词
      你是負責給顧客推薦電視的智能導購員。
      你需要按照下文中【電視的參數列表】中的順序來主動詢問使用者需要什麼參數的電視,一次只能問一個參數,不要對一個參數進行重複提問。
      如果使用者告訴了你這個參數值,你要繼續詢問剩餘的參數。
      如果使用者詢問這個參數的概念,你要用你的專業知識為他解答,並繼續向他詢問需要哪個參數。
      如果使用者有提到不需要繼續購買商品,請輸出:感謝光臨,期待下次為您服務。
      【電視的參數列表】
      1.螢幕尺寸:【50英寸、70英寸、80英寸】
      2.重新整理率:【60Hz、120Hz、240Hz】
      3.解析度:【1080P、2K、4K】
      如果【電視的參數列表】中的參數都已收集完畢,你要問他:“請問您是否確定購買?”,並同時將顧客選擇的參數資訊輸出,如:50英寸|120Hz|1080P。問他是否確定需要這個參數的電視。如果顧客決定不購買,要問他需要調整哪些參數。
      如果顧客確定這個參數符合要求,你要按照以下格式輸出:
      【螢幕尺寸:50英寸,重新整理率:120Hz,解析度:1080P】。請你只輸出這個格式的內容,不要輸出其它資訊。
      
    • 用户提示词
      使用者的問題是:${sys.query}
      
    • 记忆:讓模型在對話中記住之前的聊天內容。單擊啟用image,選擇自定义缓存
p910521
  1. 將左側大模型節點拖入畫布,在其配置面板中配置以下參數。未提及的參數保持預設即可。配置完成後關閉面板,串連意圖分類的消費者想選購手機大模型節點。
    • 模型配置:選擇千問-Plus-latest
    • 提示词
      你是負責給顧客推薦手機的智能導購員。
      你需要按照下文中【手機的參數列表】中的順序來主動詢問使用者需要什麼參數的手機,一次只能問一個參數,不要對一個參數進行重複提問。
      如果使用者告訴了你這個參數值,你要繼續詢問剩餘的參數。
      如果使用者詢問這個參數的概念,你要用你的專業知識為他解答,並繼續向他詢問需要哪個參數。
      如果使用者提到不需要繼續購買商品,請輸出:感謝光臨,期待下次為您服務。
      【手機的參數列表】
      1.使用情境:【遊戲、拍照、看電影】
      2.螢幕尺寸:【6.4英寸、6.6英寸、6.8英寸、7.9英寸摺疊屏】
      3.RAM空間+儲存空間:【8GB+128GB、8GB+256GB、12GB+128GB、12GB+256GB】
      如果【參數列表】中的參數都已收集完畢,你要問他:“請問您是否確定購買?”,並同時將顧客選擇的參數資訊輸出,如:用於拍照|8GB+128GB|6.6英寸。問他是否確定需要這個參數的手機。如果顧客決定不購買,要問他需要調整哪些參數。
      如果顧客確定這個參數符合要求,您要按照以下格式輸出:
      【使用情境:拍照,螢幕尺寸:6.8英寸,儲存空間:128GB,RAM空間:8GB】。請你只輸出這個格式的內容,不要輸出其它資訊。
      
    • 用户提示词
      使用者的問題是:${sys.query}
      
    • 记忆:讓模型在對話中記住之前的聊天內容。單擊啟用image,選擇自定义缓存
p910519
  1. 將左側变量处理節點拖入畫布,在其配置面板中配置以下參數。未提及的參數保持預設即可。配置完成後關閉面板,串連意圖分類節點的預設意圖和變數處理節點。
    • 输出模式:選擇文本输出
    • 在編輯框中輸入:
      您好!請直接告訴我,您想購買電視、冰箱還是手機呢?
      
p910518
  1. 將三個大模型節點和變數處理節點都串連到結束節點。再單擊結束節點,在其配置面板的編輯框中分別輸入/插入4個變數大模型1/result``大模型2/result``大模型3/result``變數處理1/result,未提及的參數保持預設即可。
p910518
配置範例:
image
  1. 測試應用:
    1. 單擊右上方测试,在對話方塊輸入給我介紹一下你們的冰箱,單擊image,查看輸出結果。
    2. 繼續輸入家用,查看輸出結果。
    3. 繼續輸入200L,查看輸出結果。
    4. 最後輸入一級能效,查看輸出結果。
工作流程-智能導購

會話變數

會話變數作為全域變數,能夠在當前工作流程的全生命週期內記錄參數資訊,並可在各個節點中進行引用。 可在畫布配置頁面的右上方單擊image表徵圖進行配置。
image

節點說明

節點是工作流程應用的核心功能單元,各自承擔特定任務,如執行操作、觸發條件、處理資料或決定流程走向。它們就像積木般靈活拼接,共同構建高效、智能的自動化流程。
  • 開始/結束
  • 大模型
  • 知識庫
  • API
  • 外掛程式
  • Function Compute
  • 指令碼
  • 條件判斷
  • 意圖分類
  • 流程輸出
  • 變數處理
  • 參數提取
  • 智能體群組
  • 智能體建立
  • 多模態產生
  • 何時使用
    • 在設計工作流程時,您需要確定輸入/輸出參數的結構和內容,並填入開始/結束節點。
  • 如何使用
    • 開始節點

      組件

      說明

      預置變數

      工作流程預置了以下變數,用於處理使用者輸入和維護歷史對話:

      • query:接收使用者輸入的常值內容。

      • historyList:對話歷史列表,用於在多輪對話中維護上下文。可在支援記憶功能的節點(如大模型、意圖分類)中,通過選擇自訂緩衝來調用。

      • imageList:圖片列表,用於儲存使用者上傳的圖片,以支援映像分析或多模態對話。可在支援記憶功能的節點(如大模型、意圖分類)中,通過選擇自訂緩衝來調用。

      自訂變數

      自訂變數是根據不同工作流程需求建立的結構化輸入參數,可在測試工作流程或 API 呼叫時接收外部資料,並在後續節點中引用。建立自訂變數時,需配置以下參數:

      • 變數名:輸入具有語義的名稱。不支援中文字元。

      • 類型:變數的資料類型。當前支援 String、Boolean、Number、Object、Array(String、Boolean、Number、Object)、File。

      • 描述:對變數的功能和使用情境進行簡要說明。

    • 結束節點

      組件

      說明

      輸出模式

      文本输出:適合輸出非結構化的內容。在輸入框中支援輸入固定內容或輸入/引用變數,以確定最終返回給使用者的執行結果。變數可來源於工作流程中任意節點的執行結果或會話變數。通過合理配置輸出變數,使用者能夠清晰地掌控整個工作流程的資料流向,並確保最終呈現的資訊準確、完整。

      JSON输出:按照 JSON 格式編排輸出內容,適合輸出結構化的內容。可自訂變數名,支援輸入文本或引用變數。

      流式輸出

      流式輸出開關僅對文字模式生效。

      開啟時,可以逐字流式輸出大模型節點、應用元件節點的內容。關閉時,回複內容將全部產生後一次性輸出。

測試應用

在工作流程配置完成後,可以通過測試功能驗證工作流程的運行效果。單擊右上方测试按鈕,開啟測試面板。測試面板支援多種測試模式,可根據不同的使用情境選擇合適的模式測試。

文本對話

文本對話是預設的測試模式,會保留歷史對話上下文,支援連續的多輪對話互動。
  1. 在測試面板頂部的下拉框中選擇文本交談模式(預設模式)。如果工作流程中包含自訂變數,在參數配置地區填寫變數值。
  2. 在輸入框輸入測試內容(支援文本輸入和附件上傳),單擊发送按鈕(或按 Enter 鍵)執行測試。
  3. 查看測試結果,可以點擊節點查看詳細的輸入輸出,也可以切換輸出格式(Text/JSON格式)查看結果。
  4. 如需繼續多輪對話,在輸入框輸入下一輪對話內容並發送;如需重新開始對話,可單擊清空按鈕。

文本產生

文本產生模式為單輪互動,每次測試都是獨立的,不會保留歷史對話上下文。

檢查清單

在檢查清單中可以查看為確保工作流程成功運行所需進行的配置。 可在畫布配置頁面的右上方單擊image表徵圖查看。
image

發布應用

發布後的應用可以被API調用,也可以通過Web頁面分享給同一主帳號下的RAM子帳號使用。您可以單擊智能體應用管理介面右上方的发布按鈕。

通過API調用

您可以在工作流程應用发布渠道頁簽,單擊API右側的查看API,查看通過API調用智能體應用的方法。
註:您需用您的API KEY對YOUR_API_KEY進行替換才可發起調用。
image
關於API調用的相關問題總結:
  • 關於調用方式(HTTP/SDK),請參見應用調用
  • 關於調用介面的詳細參數資訊,請參見應用調用參數資訊
  • 關於調用參數傳遞問題,請參見應用的參數傳遞
  • 關於調用報錯資訊,請參見錯誤碼進行解決。
  • 關於調用並發數限制問題,應用本身不限流,主要與內部調用的模型有關,有關模型內容請參見百鍊控制台
目前不支援在工作流程中調用析言服務,可以通過API節點調用自訂的API服務。
API調用的逾時時間為 600 秒,暫不支援修改。如可能逾時,建議採用以下方案:
  • 使用非同步模式:選擇非同步運行模式,系統返回Task ID,可通過Task ID查詢結果,不受同步逾時限制。
  • 分割任務:將任務拆分為多個步驟,或將批量資料分批處理,避免單次執行逾時。

工作流程匯入/匯出

  1. 匯入/匯出百鍊工作流程 點擊工作流程頁面上方的image,選擇导出DSL导入百炼DSL
    image
  2. 匯入 Dify 工作流程 百鍊支援一鍵匯入 Dify 工作流程,便於遷移和複用。
    1. 點擊工作流程頁面上方的image,選擇导入Dify DSL
      image
    2. 調整各節點的參數配置。
      image
      節點相容性詳情如下:

      Dify節點

      對應的百鍊節點

      相容性

      開始

      開始

      1. sys.query:對應百鍊的query

      2. sys.dialogue_count:對應百鍊的最大記憶輪次

      LLM

      大模型

      1. 模型:百鍊不支援的模型會置空,需要自行選擇;百鍊支援模型完全相容

      2. Prompt:Dify 的 System 對應百鍊的提示詞,Dify 的 User 對應百鍊的使用者提示詞

      3. 視覺能力:完全一致

      4. 上下文:百鍊將 Dify 內容相關的原始欄位直接納入其 System Prompt 中

      知識檢索

      知識庫

      1. 輸入:統一引入content欄位作為輸入

      2. 知識庫:匯入後該選項會置空,需要在百鍊手動關聯

      3. 召回設定:Dify 的Top-k參數會映射為百鍊的召回片段數

      直接回複

      輸出節點

      完全相容

      Agent

      僅保留名稱,需點擊以選擇具體的百鍊節點進行替換

      問題分類器

      意圖分類

      百鍊不支援的模型會置空,需要自行選擇;百鍊支援模型完全相容

      迭代

      批處理

      1. 輸入:對應百鍊的批处理数组

      2. 輸出變數:對應百鍊的输出变量

      迴圈

      迴圈

      完全相容

      代碼執行

      指令碼

      區分 Python 和 JavaScript 指令碼

      模板轉換

      不相容,產生自訂節點

      變數彙總器

      變數處理

      對應百鍊变量处理節點的聚合分组輸出模型

      文檔提取器

      不相容,產生自訂節點

      變數賦值

      變數設定

      完全相容

      參數提取器

      參數提取

      百鍊不支援推理模式,其餘完全相容

      HTTP請求

      API

      完全相容,但需要重新鑒權

      列表操作

      不相容,產生自訂節點

      工具

      外掛程式、MCP

      不相容,產生自訂節點

      注釋

      不相容

      結束

      結束

      若 Dify 工作流程中存在多個結束節點,百鍊會將其轉換為一個變數彙總節點和一個結束節點

查看工作流程應用版本

  1. 點擊工作流程配置頁面右上方的發布,在發布對話方塊中輸入版本資訊(例如:1.0.0)後,點擊確定
image
  1. 點擊頁面頂部的版本管理,您可以在歷史版本面板按需查看或使用(點擊覆盖当前草稿回到当前版本)當前工作流程應用的不同版本。
    您也可以點擊頂部的DSL匯出該版本,匯出所選歷史版本工作流程的DSL。
image
  1. 可選:在節點庫中查看或搜尋節點。
image

刪除與複製工作流程應用

您可以在应用管理找到發行的應用卡片,單擊image表徵圖,進行刪除與複製工作流程、修改應用程式名稱操作。

image

常見問題

  • 工作流程應用相關
  • 節點相關
  1. 怎麼把工作流程啟動並執行結果寫入資料庫? 使用指令碼轉換節點,可將上一節點的內容寫入資料庫。
  2. 阿里雲百鍊構建工作流程應用,如何上傳檔案? 您可以在工作流程應用中加入一個API節點來實現檔案上傳功能。
  3. 如何上傳圖片? 使用VL模型,通過指定參數傳入圖片URL地址。
  4. 能否在工作流程應用裡使用非同步任務API? 工作流程應用逾時時間為600秒,不建議在流程裡使用非同步任務API。
  5. 阿里雲百鍊工作流程前端應該怎麼調用API並且流式輸出呢 暫時不支援前端調用。
  6. 阿里雲百鍊工作流程無法匯入單獨的.yaml檔案 不支援單獨匯入.yaml檔案,需提供包含md5檔案的壓縮包,建議重建MD5。
  7. 阿里雲百鍊工作流程變數名可以為中文嗎? 變數名不支援使用中文。
  8. 對話記錄儲存問題 工作流程應用僅儲存一個月資料,需自行儲存對話記錄,session_id有效時間為一小時。