gpt4 book ai didi

javascript - 无法读取机器人框架中未定义错误的属性 'length'

转载 作者:太空宇宙 更新时间:2023-11-04 01:32:47 26 4
gpt4 key购买 nike

我正在从 axios get 请求获取数据,并将其移动到数组 xyz 中。但是当我将 xyz 发送到 step.prompt 时,它会抛出此错误:

" [onTurnError]: TypeError: Cannot read property 'length' of undefined"

当我在日志中打印xyz时,它具有我需要的正确数据。

async someFunction(step){
var xyz = [];
try {
const response = await axios.get(`url`);

for (var i = 0; i < response.data.length; i++) {
xyz[i] = response.data[i].xzyElement;
}
} catch (error) {
console.log(`error ${error}`);
}
return await step.prompt(PROMPT, 'Choose any one.', xyz);
}

我想将 xyz 中的元素作为提示发送给用户。

最佳答案

对于使用提示的机器人框架,您可以使用如下所示的内容

提示尺寸验证示例

return await stepContext.prompt(
SIZE_RANGE_PROMPT, {
prompt: 'How many people is the reservation for?',
retryPrompt: 'How large is your party?',
validations: { min: 3, max: 8 },
});

提示位置选择示例

async promptForLocation(stepContext) {
// Record the party size information in the current dialog state.
stepContext.values.size = stepContext.result;

// Prompt for location.
return await stepContext.prompt(LOCATION_PROMPT, {
prompt: 'Please choose a location.',
retryPrompt: 'Sorry, please choose a location from the list.',
choices: ['Redmond', 'Bellevue', 'Seattle'],
});
}

我假设,你的第二个参数应该是任何数组/列表,而不是你传递名为“选择任何一个”的字符串,这就是为什么它给出“无法读取未定义的属性‘长度’”,因为它必须尝试访问数组的第一个或第二个元素,传递的参数是一个字符串。

提示方法的第二个参数采用提示选项对象,该对象具有以下属性。

enter image description here

作为引用,您可以阅读下面的文档详细信息

https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-prompts?view=azure-bot-service-4.0&tabs=javascript

希望有帮助。

关于javascript - 无法读取机器人框架中未定义错误的属性 'length',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55550764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com