這個預先建構的元件會向使用者收集數字序列。可接受的最小和最大長度可透過輸入參數設定。
這個元件會在每個對話回合中擷取使用者輸入的數字,並將這些數字串連成最終序列。您可以透過輸入參數,設定每個區塊可接受的最小和最大長度。
序列擷取作業會持續進行,直到使用者輸入與預先建構的 components_confirmation_done 意圖相符的內容,表示序列已完成為止。
限制
除了常見的預先建構元件限制外,這個預先建構元件還有下列限制:
- 系統不支援非數字字元。如需字母和數字的支援資訊,請參閱英數字元集合。
建議的代理程式設定
啟用 DTMF,允許使用者透過電話鍵盤輸入數值。
其他功能
這個預先建構的元件提供下列額外功能:
對話方塊範例
下列範例對話方塊展示了這個預先建構元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設歡迎意圖,並在對話開始時提供第一個代理程式回應。
單一區塊
使用者在第一次嘗試時提供數字序列,專員成功接受。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請先說出數字序列的前 1 到 30 位數。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。 | |
| 2374 30940 029 30 | |
| 我收到 23743094002930,這是正確的嗎? | |
| 是 | |
| 好的。請說出或輸入數字序列的下一部分。 | |
| 完成 | |
| 謝謝,我收集到的數字序列為 23743094002930。對嗎? | |
| 是 | |
| 很好,我已完成收集數字序列。 |
多個區塊
使用者以多個區塊提供數字序列,代理程式成功接受。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請先說出數字序列的前 1 到 30 位數。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。 | |
| 2374 30940 029 30 | |
| 我收到 23743094002930,這是正確的嗎? | |
| 否 | |
| 別擔心,請再次提供數字序列的前 1 到 30 位數。 | |
| 2374 | |
| 我得到 2374,對嗎? | |
| 是 | |
| 好的。請說出或輸入數字序列的下一部分。 | |
| 3094 | |
| 我得到 3094,對嗎? | |
| Yeah | |
| 好的。請說出或輸入數字序列的下一部分。 | |
| 002930 | |
| 我收到 002930,這是正確的嗎? | |
| 否 | |
| 別擔心,23743094 後面是什麼? | |
| 2930 | |
| 我得到 2930,對嗎? | |
| 是,就這樣 | |
| 謝謝,我收集到的數字序列是 237430942930。對嗎? | |
| 是 | |
| 很好,我已完成收集數字序列。 |
重試成功
使用者在第一次嘗試時提供數字序列,專員重新確認,但使用者說「否」。代理程式要求使用者再次提供序號。使用者提供並確認序號,代理程式也成功接受。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請先說出數字序列的前 1 到 30 位數。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。 | |
| 92832938 3489 | |
| 我收到 928329383459,這是正確的嗎? | |
| 否 | |
| 別擔心,請再次提供數字序列的前 1 到 30 位數。 | |
| 928329383435 | |
| 我收到 928329383435,這是正確的嗎? | |
| 是,我今天的任務結束了 | |
| 謝謝,我收集到的數字序列是 928329383435。對嗎? | |
| 是 | |
| 很好,我已完成收集數字序列。 |
重試失敗
使用者提供數字序列三次,並在重新確認步驟中說「否」;元件會在第三次確認失敗時結束流程。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請先說出數字序列的前 1 到 30 位數。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。 | |
| 928329383435 | |
| 我收到 928329383835,這是正確的嗎? | |
| 否 | |
| 別擔心,請再次提供數字序列的前 1 到 30 位數。 | |
| 23 289 0239 903 | |
| 我得到 232890239953,這是正確的嗎? | |
| 否 | |
| 別擔心,請再次提供數字序列的前 1 到 30 位數。 | |
| 23847 02938 | |
| 我收到 2384702938,這是正確的嗎? | |
| 否 | |
| 抱歉,我嘗試太多次,但無法收集你的回覆。 |
無法辨識的輸入內容
如果使用者提供無法辨識的輸入內容三次,元件就會結束流程。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請先說出數字序列的前 1 到 30 位數。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。 | |
| 沒關係 | |
| 抱歉,我聽不懂,請先說出數字序列的前 1 到 30 位數。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。 | |
| nice | |
| 抱歉,我還是沒聽清楚。請確認你說的是數字序列的前 1 到 30 位數。完成後,說出「我完成了」即可結束收集作業。你也可以隨時說出「播放」,查看目前收集到的序列。如果系統無法辨識你的聲音,你也可以使用數字鍵盤輸入數字序列。 | |
| 很棒 | |
| 抱歉,我不太瞭解你的意思。 |
命名慣例
這個預先建構的元件採用下列命名慣例:
| 功能 | 格式 | 範例 |
|---|---|---|
| Flow | [元件名稱] | 數字集合 |
| 元件專屬意圖 | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_numeric_collection_collect_numeric_sequence |
| 參數 | [param_name] | user_provided_cur_seq |
輸入參數
輸入參數是用來設定元件特定行為的參數。流程中的一或多個條件會使用這些參數,判斷元件的行為。如要設定流程範圍參數,請按照下方說明,在元件的開始頁面進行設定。以工作階段為範圍的參數可以透過呼叫流程或在這個元件的開始頁面設定。
如要設定每次擷取和最終收集序列可接受的長度下限和上限,請在流程的開始頁面中修改參數預設值。
這個預先建構的元件接受下列輸入參數:
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $flow.numeric_min_length | 最終數字序列的長度下限 | 整數 |
| $flow.numeric_max_length | 最終數字序列長度上限 | 整數 |
| $flow.lower_limit | 使用者每回合可提供的區塊長度下限 | 整數 |
| $flow.upper_limit | 使用者每回合可提供的區塊長度上限 | 整數 |
如要設定這個元件的輸入參數,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 雲端專案。
- 選取代理程式。
- 選取「Build」(建構) 分頁標籤。
- 在「流程」部分中,按一下匯入的元件。
- 按一下「頁面」部分中的「開始頁面」。
- 在「開始頁面」中,按一下「true」路徑。
- 在「Route」視窗中,視需要編輯「Parameter Presets」值。
- 按一下「儲存」。
輸出參數
輸出參數是工作階段參數,在結束元件後仍會保持啟用狀態。這些參數包含元件收集的重要資訊。這個預先建構的元件會提供下列輸出參數的值:
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| numeric_collection_numeric_sequence | 這個參數會傳回工作階段期間擷取的數字序列 | 字串 |
基本設定
如要設定這個預先建構的元件,請按照下列步驟操作:
完成
代理程式現在應已設定完成,可以開始測試。