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

如何在运行时修改PromptOptions的retryprompt 以及对话框能否发图片替代文本

技术问题解答

1. 运行时动态修改PromptOptions的retryprompt是否可行

完全可行。你可以在校验用户输入不通过、触发重试逻辑前,根据当前用户的输入内容动态生成自定义重试文案,直接覆盖当前Prompt实例的options中的retryPrompt字段即可生效,无需修改全局的提示器配置。
以Bot Framework Node.js SDK为例,你可以在自定义Prompt的校验回调中实现该逻辑:

async function customInputValidator(promptContext) {
  const userInput = promptContext.recognized.value;
  // 自定义校验规则,判定用户输入不符合要求
  if (!isValidInput(userInput)) {
    // 结合用户输入动态生成重试提示
    const dynamicRetryText = `你输入的「${userInput}」不符合格式要求,请重新输入6位数字验证码`;
    // 直接覆盖当前PromptOptions的retryPrompt
    promptContext.options.retryPrompt = MessageFactory.text(dynamicRetryText);
    return false;
  }
  return true;
}

2. 是否可以在PromptOptions中使用图片替代文本内容

可以。PromptOptions的prompt和retryPrompt字段支持传入任意富媒体消息对象,并不限制为纯文本。你可以先构造包含图片附件的消息(比如缩略图卡、英雄卡、自适应卡等),再赋值给对应的字段即可。
示例代码如下:

const { MessageFactory, CardFactory } = require('botbuilder');

// 构造带图片的提示消息
const promptWithImage = MessageFactory.attachment(
  CardFactory.thumbnailCard(
    '请核对以下信息',
    // 图片配置,替换为你的实际图片地址即可
    [{ url: '你的图片存储地址' }],
    // 操作按钮,不需要可以留空
    [{ type: 'imBack', title: '确认', value: '确认' }, { type: 'imBack', title: '重新上传', value: '重新上传' }]
  )
);

// 将带图片的消息传入PromptOptions
return await stepContext.prompt('confirm_prompt', {
  prompt: promptWithImage,
  retryPrompt: MessageFactory.text('请点击按钮选择操作') // 重试提示也可以按照同样逻辑替换为图片消息
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:54:03