Playbook 可使用明確定義的參數接受及傳送背景資訊。參數可用於儲存對話相關資訊,例如使用者選項、動作結果等。您可以在 Playbook 和流程之間傳遞這些參數的值。
參數宣告
使用 AI 應用程式控制台時,您可以在對話方塊編輯器頁面上定義參數。
使用 Dialogflow CX 主控台時,建立劇本後,請使用「參數」分頁,為每個劇本定義參數。
參數包含名稱、說明和下列其中一種類型:
- 字串
- Number
- 布林
- 工具專屬參數類型
您也可以指定參數是否為清單。
輸入參數
輸入參數可讓 Playbook 使用從流程和其他 Playbook 傳遞的值。舉例來說,Playbook 可能會接收使用者偏好名稱做為參數,並用於向使用者致謝;或者,Playbook 可能會接收訂單 ID 做為參數,並用於透過工具擷取訂單詳細資料。
輸入參數會依 Playbook 個別定義,而且 Playbook 預設不會顯示 其他 Dialogflow CX 控制台參數類型。當流程轉換為劇本時,如果目標劇本有同名的輸入參數,頁面和工作階段參數就會傳播至劇本。如要在轉換期間將流程中的資訊傳送至劇本,請將劇本輸入參數的名稱定義為與轉換前顯示的會話或網頁參數相同。
建立範例,控制輸入參數值對動作的影響。舉例來說,如果輸入參數會影響代理程式向使用者提供資訊的方式,請建立範例來定義參數值,然後在範例中的語音指令動作中使用相同的值。詳情請參閱「傳遞參數」。
輸出參數
輸出參數可讓流程手冊發出其他流程或流程手冊可用的資訊。舉例來說,Playbook 可能會向使用者收集訂單號碼,並透過輸出參數發出該號碼,或是使用工具訂機票,並透過輸出參數發出確認號碼。
建立範例,控制 Playbook 如何決定每個輸出參數的值。舉例來說,如果代表確認號碼的輸出參數應從工具使用情況的輸出內容中擷取值,請建立範例,讓工具使用情況的輸出內容與 Playbook 輸出參數的值相符。
傳遞參數
與流程不同,Playbook 不支援使用特定語法插入參數值。而是透過指示和少量提示範例,判斷應如何使用參數值,以及在指定參數值時應如何決定值。
不妨考慮使用專為活動售票設計的服務專員,並搭配下列指南:
- 名為
Ticket ordering
的劇本,使用名為Ticket sales API
的工具下單。- 這個 playbook 會接受類型為
number
且名稱為event_id
的輸入參數。 Ticket sales API
工具會預期要求中含有event_id
。
- 這個 playbook 會接受類型為
- 名為
Event selection
的劇本,可協助使用者選取活動,然後透過參數event_id
將他們導向Ticket ordering
購買票。
在本例中,為確保 event_id
可可靠地從 Event selection
傳遞至 Ticket ordering
,以及從 Ticket ordering
傳遞至 Ticket sales API
,需要使用多個範例。
Ticket ordering
應對手冊應包含多個範例,這些範例必須符合下列條件:
- 請指定輸入參數
event_id
的實際值,並在每個範例中使用不同的值。 - 請在要求主體中加入工具使用動作,並在其中加入與輸入參數中指定的實際
event_id
值。
Event selection
應對手冊應包含多個範例,這些範例必須符合下列條件:
- 請提供使用者語句,讓使用者選取事件,並附上一些實際的
event_id
,每個範例都不同。 - 納入
Ticket ordering
的應對手冊叫用,將event_id
參數設為使用者所選的「相同」現實event_id
。
除了新增範例之外,請嘗試在說明、目標或工具詳細資料中加入具體操作說明,說明如何使用參數。舉例來說,劇本 Ticket ordering
包含下列指示:
- Use parameter event_id to send a buy_tickets request with ${TOOL: Ticket sales API}
有了上述範例和操作說明,Event selection
指南就能根據使用者的選項正確決定 event_id
,並將其做為名為 event_id
的輸入參數傳遞至 Ticket ordering playbook
。接著,Ticket ordering
會將要求主體中的相同 event_id
傳遞至 Ticket sales API
。Playbook 會使用含有不同參數值的範例,協助推斷應如何使用參數。