Chatbot 文字模板測試

文字模板測試

2025-04-05
2025-12-01
8 分鐘閱讀

函數模板與變數渲染

在 DMflow 中,我們使用雙大括號 {{ }} 來進行變數的渲染與函數調用。

基礎語法提示

  • 自動完成: 大多數參數輸入框支援 autocomplete,輸入 {{ 通常會跳出可用變數建議。
  • Input 欄位: 若要在 input 欄位進行計算或函數調用,必須將整個表達式包在 {{ }} 內。
    • 範例: {{ '今天氣溫' + data.conversation.temperature_today + '度c' }}
  • Textarea (多行文本): 可以在文字中自由穿插 {{ }}
    • 範例:
      今天氣溫 {{data.conversation.temperature_today}} 度c
      明天氣溫 {{data.conversation.temperature_tomorrow}} 度c
      

各場景的應用差異

1. 觸發器 (Triggers)

  • 自動拆箱 (Auto Unboxing): 若 Input 欄位中只有一個變數,系統會自動將其值「拆箱」取出。
    • 範例: ["a"] 會變成 a。但若有兩個以上的數值則不會。
  • 關鍵字分隔: 若 placeholder 提示使用逗號 , 分隔,您在輸入關鍵字時會自動分離,不需要手動輸入逗號。

2. 閒聊角色 (Gossip Role)

閒聊角色的提示詞(Prompt)目前僅支援文字替換,暫不支援複雜的函數運算。

  • 內建參數:
    • cur_time:同時提供日期、時間以及星期幾。
    • user_profile:包含信箱、手機以及使用者名稱。
  • 傳遞變數: 一個領域目前支援最多三個傳遞變數。
    • 範例: 假設傳遞變數為 {"test": "1234"}。 提示詞寫:提示詞為 {{ test }} 實際輸出:提示詞為 1234

3. 機器人流程 (Chatbot Flow)

  • 常數前綴 (Constant Prefix): 除了開始與回覆節點外,其餘節點若要使用函數,必須選擇 constant 前綴,且務必使用 {{ }} 包覆。
  • 常用數據源: 變數通常以 data.user, data.sys_user, data.conversation, data.session 開頭。

4. 資源節點 (Resource)

  • 網址路徑替換: 除了 Domain 部分外,路徑(Path)皆可用 {{ }} 取代。
    • O 正確: https://app.dmflow.chat/{{ path }}
    • X 錯誤: https://{{ domain }}/test
  • 網域限制: 為了確保穩定性,Domain 不能使用純 IP 或通用雲端伺服器網域。建議綁定自有 Domain。若系統偵測到網域無法使用,將會自動關閉該資源節點功能。

內建函數庫 (Utils)

我們提供了一系列強大的 Utils 函數供您調用:

函數 說明
Utils.generateSignature(body, secret, algo) 生成簽章
algo 支援:HMACSHA256, HMACSHA1, HMACSHA384, HMACSHA512, HMACMD5 (也可省略 HMAC 前綴)。
Utils.hash(text) 雜湊計算
使用 MurmurHash 演算法,回傳值為 number (可能為負數)。
Utils.atob(text) Base64 解碼
將 Base64 編碼的文字轉回原始文字。
Utils.toSeconds(date) 轉秒數
yyyy-MM-ddTHH:mm:ssZZZ 格式轉為 UTC 秒數。
Utils.randomValue(length) 隨機字串
產生指定長度的隨機英數字串 (A-Z, a-z, 0-9)。
Utils.extractTime(value, format, offset) 時間提取
value 為秒數。format 為目標格式 (如 yyyy-MM-dd)。offset 為時區 (如 +08:00)。
Utils.extractTime(value, format) 時間提取 (預設時區)
使用機器人流程的預設時區進行轉換。
Utils.now(offset) 取得現在時間
回傳格式為 yyyy-MM-ddTHH:mm:ssZZZ
Utils.format(dateString, format) 時間格式轉換
yyyy-MM-ddTHH:mm:ssZZZ 格式轉為其他指定格式。
Utils.encrypt(text) 加密
使用機器人和領域建立時產生的專屬密鑰進行加密。
Utils.decrypt(text) 解密
使用機器人和領域建立時產生的專屬密鑰進行解密。

時間格式說明

  • 領域 (Domain): 時間格式統一為 ISO 8601 標準:yyyy-MM-ddTHH:mm:ssZZZ
  • 機器人 (Bot): 內部運算主要使用 UTC 秒數

訂閱DMflow.chat電子報

了解對話式AI產品新訊及科技、DMflow.chat更新等趨勢

訂閱代表您瞭解了我們的隱私權政策

Contact

[email protected]
拓遠資訊有限公司
統編: 96194102
Copyright © DMflow.chat
註冊 登入