簡體   English   中英

如何使用 Watson Conversation Dialog 創建表單構建器

[英]How to create a form builder with Watson Conversation Dialog

我正在從事 Watson Conversation 項目。 我導入了以下 Watson 項目,並通過對話對其進行配置: https : //github.com/watson-developer-cloud/car-dashboard

我希望聊天機器人向用戶顯示一個復選框,其中包含用戶必須選擇的 7 個選項。 每次單擊一個選項都會鏈接到對話框的一部分。 目前,我已將此文本插入到對話節點中

 "Select:<br> <select id='select' on select: 'select()'> <option value='01' selected> Product 1 </option> <option value='02'>Product 2</option> </select>"

我有以下情況

圖片

嘗試遵循本文( 如何在 Watson Conversation 中使用 Select Option )已編寫復制 index.js 文件中的代碼,該文件在我的項目中不存在。

問題有兩個:1)你怎么能有一個復選框而不是一個下拉菜單? 2)在項目的github頁面可以看到hierarchy的哪個文件,輸入建議的代碼?

正如@Arlemi 指出的那樣,您可以只使用鏈接中提到的復選框代碼。

然而! 您嘗試做的問題是,如果您嘗試為其他系統進行渲染,那么維護將成為一場噩夢。

此外,對話代碼有 10MB 的限制,因此添加無關代碼將降低該限制。

最好把代碼分離出來,讓應用層來做代碼的創建。

例如,使用 W3 學校鏈接代碼:

<input type="checkbox" name="vehicle1" value="Bike"> I have a bike<br>
<input type="checkbox" name="vehicle2" value="Car"> I have a car<br>
<input type="checkbox" name="vehicle3" value="Boat" checked> I have a boat<br>

您將有一個如下所示的對話節點。

{  "context": { 
  "vehicle_options": {
    "type": "checkbox",
      "options": [
        { "name": "vehicle1", "value": "Bike", "text": "I have a bike" },
        { "name": "vehicle2", "value": "Car", "text": "I have a car" },
        { "name": "vehicle3", "value": "Boat", "text": "I have a boat", "checked": true },
      ] 
  }
    },
  "output": {
      "text": {
        "values": [ "Select your Vehicles: <! vehicle_options !>" ]
        }
    }
}

然后您的應用程序層會查找<! !> <! !>並使用此塊中的值來確定要讀取的上下文對象。 它將使用type值來確定如何渲染,以及用作該渲染一部分的options

這意味着您的應用程序層可以創建 HTML 或任何其他語言(例如 Swift)。 這也意味着您可以在其他地方控制樣式,而不必更改對話響應。 它還可以降低噪音,使其更易於維護/閱讀。

1)使用輸入類型復選框,您將有復選框。

2) 您應該在對話節點中輸入該代碼,而不是在頁面中。 該頁面將在瀏覽器中將來自服務的響應呈現為 HTML。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM