You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在中断Prompt后返回自定义数据?LUIS触发对话框场景

实现LUIS触发的解耦式反馈对话框

我完全理解你想要的效果——让LUIS触发的对话框只专注于返回意图和实体数据,不和业务逻辑耦合,这样业务对话框可以独立处理这些数据,灵活性拉满。下面给你一套具体的实现方案和优化后的代码示例:

核心思路

  • 把触发对话框设计成纯数据返回层:它只负责接收LUIS解析后的args(包含意图、实体),封装成标准化的响应数据,然后直接返回给调用它的业务对话框。
  • 通过Bot Framework的session.endDialogWithResult()方法完成数据传递,这是实现对话框解耦的关键。

完整代码示例

1. 定义LUIS触发的解耦对话框

// 仅负责接收LUIS触发、封装并返回数据的对话框
bot.dialog('NegativeAnswerTriggeredDialog', [
    (session, args, next) => {
        // 从LUIS的args中提取实体和意图相关数据(可根据实际实体名灵活调整)
        const negativeEntity = args.intent.entities.find(entity => entity.type === "NegativeAnswer");
        const response = {
            type: 'bool',
            value: false,
            index: 1,
            entity: negativeEntity ? negativeEntity.entity : 'No',
            score: negativeEntity ? negativeEntity.score : 1
        };
        // 将封装好的数据返回给调用方对话框,结束当前触发对话框
        session.endDialogWithResult({ response: response });
    }
]).triggerAction({
    matches: 'NegativeAnswerIntent', // 绑定LUIS对应的意图
    onInterrupted: (session) => {
        session.send("抱歉,我没太理解你的否定回答,请再试一次?");
    }
});

2. 业务对话框调用并接收数据

// 业务对话框,独立处理触发对话框返回的数据
bot.dialog('BusinessDialog', [
    (session) => {
        session.send("请问你对这个方案满意吗?");
    },
    (session, results) => {
        // 启动触发对话框,等待它返回数据
        session.beginDialog('NegativeAnswerTriggeredDialog');
    },
    (session, results) => {
        // 拿到触发对话框返回的标准化数据
        const feedbackData = results.response;
        session.send(`收到你的反馈:类型【${feedbackData.type}】,值【${feedbackData.value}】,实体【${feedbackData.entity}】`);
        // 继续后续业务逻辑...
        session.endDialog();
    }
]);

关键细节说明

  • 解耦的核心:session.endDialogWithResult()方法会把数据传递给上一层对话框(调用它的业务对话框),触发对话框不需要知道任何业务逻辑,只负责数据封装。
  • 实体提取的灵活性:如果你的LUIS有多种实体类型,可以在触发对话框里根据args.intent的内容动态提取对应实体,适配不同的意图场景。
  • 错误处理:onInterrupted回调可以处理用户输入不符合预期的情况,保证触发对话框的鲁棒性。

这样设计之后,触发对话框和业务对话框完全独立——你可以随时修改业务逻辑,或者替换触发对话框的实体解析规则,两边都不会互相影响,完美实现你要的解耦需求。

内容的提问来源于stack exchange,提问作者Victor Lia Fook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:18:47