如何在机器人框架中提出开放性问题?
How to ask open questions in bot framework?
我正在使用 Bot Framework、C# Bot Builder 和 FormFlow(使用 FieldRelfector)构建一个聊天机器人。
在某个步骤中,我需要向用户提出一个开放性问题,例如 "Add any other relevant information",我只想收集一些文本并将其存储以备后用。
我试图将变量定义为字符串:
[Prompt("Add any other relevant information")]
public string OpenText;
在表单链中我有:
.Field(new FieldReflector<MyForm>(nameof(OpenText))
.SetType(null)
.SetActive(state => !state.Finished()))
但这无济于事,无论我输入什么,机器人都会回答:
"blah blah" is not a open text option.
如何处理?
您为此使用 FieldReflector 是否有任何原因 属性?我建议只为 属性 定义一个普通字段(你可以有一个表单,其中的字段用 FieldReflector 定义,字段只用 Field 定义)。
只需使用:
.Field(nameof(MyForm.OpenText), state => !state.Finished())
如果有理由使用 FieldReflector,请使用完整的表单定义更新 post。
我正在使用 Bot Framework、C# Bot Builder 和 FormFlow(使用 FieldRelfector)构建一个聊天机器人。 在某个步骤中,我需要向用户提出一个开放性问题,例如 "Add any other relevant information",我只想收集一些文本并将其存储以备后用。 我试图将变量定义为字符串:
[Prompt("Add any other relevant information")]
public string OpenText;
在表单链中我有:
.Field(new FieldReflector<MyForm>(nameof(OpenText))
.SetType(null)
.SetActive(state => !state.Finished()))
但这无济于事,无论我输入什么,机器人都会回答:
"blah blah" is not a open text option.
如何处理?
您为此使用 FieldReflector 是否有任何原因 属性?我建议只为 属性 定义一个普通字段(你可以有一个表单,其中的字段用 FieldReflector 定义,字段只用 Field 定义)。
只需使用:
.Field(nameof(MyForm.OpenText), state => !state.Finished())
如果有理由使用 FieldReflector,请使用完整的表单定义更新 post。