python槽格式里填啥_用于填充插槽的网络挂钩
有時將param設置為required是不夠的,因為您不僅需要該param存在,而且需要以特定的格式顯示,還有一種使用events的替代方法。在
有多個步驟,但一旦你熟悉了,你會做得很快。在
1)創建2個新的意圖:Year - Confirmation&;Year - Confirmed
2)在第一個意圖中添加一個事件:intent>;Events>;ask-year(或任何您喜歡的名稱)
3)添加輸出上下文:year-confirmation
4)設置一個請求用戶輸入年份的響應:Please provide the year...
5)設置參數:姓名:日期
實體:-
值:#ask-year.date(這將來自事件數據,您將從后端發送它)
6)在您的第二個意圖Year - Confirmed,添加為輸入上下文:year-confirmation(前一個意圖的輸出)
7)設置與您的主要意圖相同的操作:insurance
8)添加一些可以與年份匹配的培訓短語:2017年(@系統編號:年)
今年是@系統編號:year(對這個使用模板模式)
現在您將有$year作為參數。在
9)添加一個額外參數:姓名:日期
實體:-
值:#year-confirmation.date(這將來自年份確認上下文)
10)在后端,當您收到未完成日期時,您應該發送ask-year事件。在
節點.js例如,我不知道pythonconst apiai = require('apiai');
const client = apiai('my-dev-token');
function sendEvent(data) {
const request = client.eventRequest(data, {
sessionId: 'current-session'
});
request.on('response', response => {
// Push message to your UI
console.log(response.result.fulfillment.speech); // Please provide the year...
});
request.on('error', error => {
console.error('Event error: ', error);
});
request.end();
}
/* ... */
// Your insurance action handler
function insuranceHandler(result) {
const { parameters } = result;
if(parameters.date || parameters.date.includes('UUUU')) { // Or whatever check for invalid year
// Send previous date as data, so you will have it in the event response
return sendEvent({
name: 'ask-year',
data: {
date: parameters.date
}
});
}
// Year comes from `ask-year` intent
if(parameters.year)
parameters.date = parameters.date.replace('UUUU', parameters.year);
// Do whatever you need
}
現在,當日期不完整時,將觸發事件,執行Year - Confirmation,并要求您提供年份。在您提供一個之后,Year - Confirmedintent將由您的響應執行。現在,您的后端將接收到insurance操作和一個附加參數year
總結
以上是生活随笔為你收集整理的python槽格式里填啥_用于填充插槽的网络挂钩的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用 Kaggle 经典案例教你用 CNN
- 下一篇: Python中查找包含它的列表元素的索引