gpt4 book ai didi

node.js - builder.Prompts.text 在远程托管后无法正常工作

转载 作者:搜寻专家 更新时间:2023-10-31 23:26:28 25 4
gpt4 key购买 nike

我有一个简单的机器人,可以根据用户提示获取新闻文章。整个流程在本地使用模拟器运行良好,但在部署到服务器后,机器人在遇到 builder.Prompts.text block 时失败。下面是我的代码,你会看到一个“询问文章计数”的提示,这是它在流程中停止的地方。

  • 在 BOT Framework 页面上测试时,Bot 显示已接受
  • Bot 正在通过 WebChat 和 Slack 接收消息
  • Bot 在交互后还为每个 channel 显示 0 个问题

    var bot = new builder.UniversalBot(connector);
    var intents = new builder.IntentDialog();
    bot.dialog('/', intents);

    var HHCC = require('./hhcc.js');



    intents.matches(/^news/i, [
    function(session) {
    console.log("Intent Given!");
    session.beginDialog('/news');
    },
    function(session, results) {
    session.send('Enjoy reading!');
    }
    ]);

    bot.dialog('/news', [
    function(session) {
    console.log("Asking article count");
    builder.Prompts.text(session, 'How many articles would you like to see?');
    },
    function(session, results) {
    session.sendTyping();
    session.conversationData.count = results.response;
    HHCC.getNews(session.conversationData.count, session, function(newsArticles) {
    newsArticles.forEach(function(newsCard) {
    session.send(newsCard);
    });
    session.conversationData.news = newsArticles;
    console.log(newsArticles);
    session.endDialog();
    });
    }
    ]);


    server.post('/api/messages', connector.listen());

我检查了所有日志,但似乎找不到任何线索,因为它的失败非常安静。

最佳答案

您是否尝试过使用 builder.Prompts.number() 而不是 .text()?它只接受数字(我猜你正在这样做)你不必将 results.response 解析为数字。如果没有提供错误消息或日志,就很难提供帮助。

您可能需要注意的一件事(如果使用 builder.Prompts.number)是用户是否提供小数,因为提示将接受此输入,要求机器人四舍五入到最接近的整数。

此外,如果您已将 results.response 保存到 session 对象中,则无需将 session.conversationData.count 作为另一个参数传递给 HHCC.getNews()。您可以改为从函数中的 session 访问它。

关于node.js - builder.Prompts.text 在远程托管后无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42629471/

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