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

Bot Framework Node.js中Choice Prompt的选择验证逻辑如何修改?

CHOICE_PROMPT 自定义非法输入重试提示实现方案
  • 实现原理:Bot Framework 的 ChoicePrompt 原生支持 retryPrompt 配置字段,当用户输入未命中选项值、也不属于选项关联同义词时,会自动触发该字段配置的内容作为警告提示,无需额外编写校验逻辑。
  • 选项适配:为了支持用户输入1-6的数字即可直接匹配对应选项,需要给选项添加数字前缀,SDK默认会将选项开头的数字识别为同义词,无需额外配置。

修改后的业务代码如下:

async question2_1(step) {
    return await step.prompt(CHOICE_PROMPT, {
        prompt: '1/3:您认为课程资料的导航和跟随难度如何?',
        // 如需保留英文提示,替换为 "Enter a number between 1 - 6" 即可
        retryPrompt: '请输入1-6之间的数字',
        choices: ChoiceFactory.toChoices(['1 = 非常难', '2', '3', '4', '5', '6 = 非常简单']),
        style: ListStyle.list
    });
}

如果所有使用该CHOICE_PROMPT的场景都需要统一的重试提示,可以在初始化Prompt时全局配置,避免重复传参:

// 注册Prompt时全局配置默认重试提示
const choicePrompt = new ChoicePrompt(CHOICE_PROMPT);
choicePrompt.defaultRetryPrompt = '请输入1-6之间的数字';
dialogSet.add(choicePrompt);

内容的提问来源于stack exchange,提问作者Mehdi Asgharzadeh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 12:54:03