允许用户回复未解决的问题(和循环)
Allowing user to reply to open questions (and loop)
我是 api.ai 的新手,我正在开发一个非常简单的 FB 引导机器人(机器人提问,用户从快速卡片中选择)。问题是,我的一些问题是开放的,这意味着用户可以继续输入信息,直到他们决定继续下一个问题。
我的目标是拥有这样的东西:
Bot: Hello. Please reply to this open question.
User: This is my reply's first paragraph. However I want to keep writing. (ENTER)
B: Anything else you would like to add? (quick button: "NO")
U: Yes, this other paragraph. (ENTER)
B: Anything else you would like to add? (quick button: "NO")
U: "NO" (Quick Button).
我想不通怎么办,不管用户写什么,总是给出相同的回复("Anything else you would like to add?"和快捷按钮"NO"),直到用户无话可说.如何让用户保持在一个闭环中(尽管一个特定于那个问题的循环,因为我有大约 6 个不同的问题)。
关于从哪里开始寻找的任何建议?
我找到了使用 contexts 执行此操作的简单方法。它似乎有效,但我会留意替代方案。
- 在引入问题之前的步骤中,输出一个context,例如
context-A
.
- 使用
Input: context-A
和 Output: (1) context-A
创建一个新的 Fallback Intent(来自 Intents > ...
)。 (1) 是迭代次数。这个后备意图是要求用户在他们想写的时候写,或者在他们完成后点击按钮(按钮将他们带到下一个问题,如果需要,您可以在其中重复该过程)。
就是这样。基本上,您正在为这个问题创建一个新的上下文,然后循环回退意图,直到用户移动到下一个。
您也许还可以使用参数和@sys.any。
意图 #1:你对这个问题的回答是什么?
-> 输出上下文:回答
意图 #2:继续回答或说完成。
-> 输入上下文:回答
-> 输出上下文:回答
-> 用户说:"x" 并将他们的整个响应 "x" 设置为 @sys.any,捕获任何值作为 'not done'
-> 用户说:"done" 然后继续...
我是 api.ai 的新手,我正在开发一个非常简单的 FB 引导机器人(机器人提问,用户从快速卡片中选择)。问题是,我的一些问题是开放的,这意味着用户可以继续输入信息,直到他们决定继续下一个问题。
我的目标是拥有这样的东西:
Bot: Hello. Please reply to this open question.
User: This is my reply's first paragraph. However I want to keep writing. (ENTER)
B: Anything else you would like to add? (quick button: "NO")
U: Yes, this other paragraph. (ENTER)
B: Anything else you would like to add? (quick button: "NO")
U: "NO" (Quick Button).
我想不通怎么办,不管用户写什么,总是给出相同的回复("Anything else you would like to add?"和快捷按钮"NO"),直到用户无话可说.如何让用户保持在一个闭环中(尽管一个特定于那个问题的循环,因为我有大约 6 个不同的问题)。
关于从哪里开始寻找的任何建议?
我找到了使用 contexts 执行此操作的简单方法。它似乎有效,但我会留意替代方案。
- 在引入问题之前的步骤中,输出一个context,例如
context-A
. - 使用
Input: context-A
和Output: (1) context-A
创建一个新的 Fallback Intent(来自Intents > ...
)。 (1) 是迭代次数。这个后备意图是要求用户在他们想写的时候写,或者在他们完成后点击按钮(按钮将他们带到下一个问题,如果需要,您可以在其中重复该过程)。
就是这样。基本上,您正在为这个问题创建一个新的上下文,然后循环回退意图,直到用户移动到下一个。
您也许还可以使用参数和@sys.any。
意图 #1:你对这个问题的回答是什么? -> 输出上下文:回答 意图 #2:继续回答或说完成。 -> 输入上下文:回答 -> 输出上下文:回答 -> 用户说:"x" 并将他们的整个响应 "x" 设置为 @sys.any,捕获任何值作为 'not done' -> 用户说:"done" 然后继续...