首页 文章

DialogFlow:Intents和@ sys.any类型中的字母数字(固定长度)参数

提问于
浏览
3

我有一个DialogFlow的意图,它接受来自用户的输入/参数以进行验证 . 该参数具有固定长度并且是字母数字的(例如ABC1234) . 它是针对不同用户的随机ID . 使用webhook调用在后端验证数据输入 .

为了接受输入值,我必须将参数的类型设置为 @sys.any . 它确实有效,值传递给webhook进行验证 . 但由于此意图没有"Input contexts",因此从未触发下一个意图,因为用户的每个输入都被评估为 @sys.any .

我需要的是一种接受自定义 Value 的类型 . 但我找不到任何东西 .

以下是意图的截图:
Verify pin intent

另请注意,未触发的下一个意图是"In context" = authentication 并且用户表示像 book me 这样的表达式 . 由于上述意图中的 @sys.anybook me 导致上述意图触发 .

这个问题有类似的要求,但没有答案:DialogFlow - Improve entity/parameter recognition for alphanumeric parameters

另外:https://discuss.api.ai/t/alphanumeric-support/2572

2 回答

  • 0

    这在Dialogflow上是不可能的 . 例如,您可以使用正则表达式在webhook中实现此目的 .

  • 0

    经过一番挖掘,我不得不改变方法 . 也就是说, @sys.any 不是要走的路 . 我选择使用输入参数的数字部分(最后四位数)而不是字母数字,并在服务器端/ webhook处理任何重复 . 我使用的类型是 @sys.number-sequence .

    我仍然必须处理上下文,使得任何数字序列的输入都不会触发此意图 .

相关问题