在Dialogflow和Actions-on-Google中,复合实体(Composite Entity)是一种特殊的实体类型,用于捕获用户输入中的多个值,并将这些值组合成一个结构化的对象。这在处理需要多个字段的复杂输入时非常有用,例如填写表单或创建具有多个属性的对象。
以下是如何在Dialogflow中创建和使用复合实体的步骤:
Entities
部分,然后点击 Create Entity
。OrderDetails
。Add Component
。ProductName
, Quantity
, Price
等。Save
。Intents
部分,然后创建一个新的意图或编辑现有的意图。OrderDetails.ProductName
和 OrderDetails.Quantity
。OrderDetails.ProductName
和 OrderDetails.Quantity
。Save
。OrderDetails
。假设你有一个复合实体 OrderDetails
,包含 ProductName
, Quantity
, 和 Price
字段。用户输入“我想订购 3 个苹果”,Dialogflow会将其解析为:
{
"OrderDetails": {
"ProductName": "苹果",
"Quantity": "3",
"Price": null
}
}
在Actions-on-Google中,你可以这样处理:
app.intent('OrderIntent', (conv) => {
const orderDetails = conv.parameters.OrderDetails;
const productName = orderDetails.ProductName;
const quantity = orderDetails.Quantity;
const price = orderDetails.Price;
conv.ask(`您订购了 ${quantity} 个 ${productName}`);
});
通过这种方式,你可以有效地处理和填充复杂的用户输入,提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云