PolyAI 中文文档 下载 App

Flow 里的实体类型与输入校验

实体是什么

实体(Entity)是 Flow 里用来收集和存储用户输入信息的结构化变量。当一个 Collect Step 配置了实体类型后,PolyAI 的 NLU(自然语言理解)模块会自动从用户的语音或文字输入中提取对应的值,存入实体供后续步骤使用。

举个例子:Collect Step 实体类型 = Time → 用户说"晚上七点半" → 实体值被解析为 {hour: 19, minute: 30} → 后续步骤可以用这个值做时间可用性查询。

标准实体类型

PolyAI 支持的主要实体类型:

类型提取示例典型用途
Number"4 个人" → 4;"一千二" → 1200人数、订单数量、金额
Alphanumeric"A12345" → "A12345"账号号、订单号、确认码
Date"下周一" → 具体日期;"10月15号" → {year, month, day}预订日期、账单日期
Time"晚上七点半" → {hour: 19, minute: 30}预订时间、通话时间
Phone number"138****1234" → 标准化格式联系方式、身份验证
Name"张三" → "张三"预订姓名、账户名
Address"上海市浦东新区 XX 路" → 结构化地址配送、安装地址
Choice"选 A" / "第一个" → 对应选项多选一的场景
Multiple choice"A 和 C" → 选项列表多选场景
Free text任意文字备注、说明

实体值跨步骤传递

实体值在整个 Flow 生命周期内保持有效。你可以在 Flow 的任何后续步骤里引用之前某个 Collect Step 收集的实体值——比如在 Confirm Step 里说"我确认一下:4 个人,周六晚上 7:30,张三的名字,对吗?",其中"4"、"周六"、"晚上 7:30"、"张三"这些值就是从前面的实体里拉出来的。

输入校验

PolyAI 对实体值有内置校验规则,常见包括:

校验失败时,Collect Step 会自动进入重试逻辑——智能体说"抱歉我没听清,请再说一遍"或"请确认一下,这个日期看起来不太对",不会盲目进入下一步。

自定义实体类型

如果标准实体类型覆盖不了你的需求(比如"会员等级"、"产品型号"),PolyAI 支持自定义实体类型。在 Agent Studio 的 Entities 配置区域里定义实体的值域和同义词,然后在 Flow 里引用。

自定义实体类型的价值在于减少 LLM 的自由发挥——你预先告诉系统"会员等级只有白金、黄金、银卡三个值",LLM 就不会把"VIP"或"金牌"这类不在值域里的词当成有效输入处理。