能否基于QnAMaker返回结果触发对话及相关属性查询
QnAMakerDialog结果获取与无匹配答案流程配置方案
Bot Framework Composer v2.1.0的Microsoft.QnAMakerDialog组件自带结果存储属性,无需额外开发即可实现你的需求,具体方案如下:
1. 内置存储属性说明
QnAMakerDialog执行完成后,默认会将完整的接口返回结果存储在turn.qnaResult属性中,该属性是一个数组,每一项包含答案内容、置信度、知识来源、关联上下文等完整的QnA响应信息。
你可以在QnAMakerDialog组件的右侧属性面板「输出」栏目下,查看「Result property」字段确认存储属性名,默认值为turn.qnaResult,若你有自定义修改则使用你设置的属性名即可。
2. 无匹配答案的判断逻辑
根据你的需求,可选择以下两种判断条件:
- 若你未开启QnA的默认返回答案配置:直接判断返回结果为空即可,条件为
count(turn.qnaResult) == 0 - 若你已开启默认Fallback Answer返回:判断返回的第一条结果为预设的兜底答案即可,条件为
turn.qnaResult[0].answer == "你设置的Fallback Answer具体内容"
3. 流程配置步骤
- 在QnAMakerDialog组件后新增「条件分支」组件,将上述判断条件填入分支触发规则中
- 在满足条件的分支内,添加你需要的独立业务逻辑:包括发送不同内容的消息、推送附件、跳转至其他对话流程等操作
- 不满足条件的分支正常展示QnA返回的匹配答案即可
你参考的设计示例如下:
内容的提问来源于stack exchange,提问作者Seelan
相关产品推荐
相关产品推荐

