1

我正在使用 MS bot 框架 (v4) 开发一个聊天机器人,并且我正在使用 Direct-line bot 通道。我经常遇到这个问题,每当我们在机器人中提出一些问题时,它会在 2-3 秒内做出响应。但被问问题的状态将保持为发送 20 秒,然后变为发送失败。重试重试也重复相同。

当我在网络聊天中尝试相同时,它给出了同样的问题。

在此处输入图像描述

请解释一下为什么会发生这种情况以及如何解决这个问题。

在此处输入图像描述

用于调查我的问题的一些附加信息:

1)您是否使用任何中间件?

No, I'm not using any middleware

2)您的机器人托管在哪里?

BOT hosted in Azure only, 

3)请包括机器人发送“嗨!”的周围代码。

private async Task ProcessSampleQnAAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
        {
            mPrevUserMssg = input;
            _logger.LogInformation("ProcessSampleQnAAsync");
            var metadata = new Bot.Builder.AI.QnA.Metadata();
            var qnaOptions = new QnAMakerOptions();

            metadata.Name = product;
            metadata.Value = release;
            qnaOptions.StrictFilters = new Microsoft.Bot.Builder.AI.QnA.Metadata[] { metadata };
            qnaOptions.ScoreThreshold = 0.3F;

             var results =await _botServices.SampleQnA.GetAnswersAsync(turnContext, qnaOptions);
            if (results.Any())
            {

                if (checkval == null)
                {
                    await turnContext.SendActivityAsync(MessageFactory.Text(results.First().Answer), cancellationToken);
                    await endmessageSuggestedActionsAsync(turnContext, cancellationToken);
                }
                else
                {
                    await turnContext.SendActivityAsync(MessageFactory.Text("Please try with a different phrase"), cancellationToken);
                }

            }
            else
            {
                metadata.Name = "editorial";
                metadata.Value = "chitchat";
                qnaOptions.StrictFilters = new Microsoft.Bot.Builder.AI.QnA.Metadata[] { metadata };
                qnaOptions.ScoreThreshold = 0.3F;
                var chitchatresults = await _botServices.SampleQnA.GetAnswersAsync(turnContext, qnaOptions);

                if (chitchatresults.Any())
                {
                    var response = chitchatresults.First().Answer;
                    var answers = response.Split('|');
                    if (answers.Count() > 1)
                    {
                        Random rnd = new Random();
                        int index = rnd.Next(answers.Count());
                        response = answers[index];
                    }
                        await turnContext.SendActivityAsync(MessageFactory.Text(response), cancellationToken);
                        await endmessageSuggestedActionsAsync(turnContext, cancellationToken); 
                }
                        else { 

                        if (unaswered == 0)
                        {
                            await turnContext.SendActivityAsync(MessageFactory.Text("Sorry, I've no answer"), cancellationToken);
                            unaswered = 1;
                        }
                        else
                        {
                            await turnContext.SendActivityAsync(MessageFactory.Text("Sorry, I am still unable to find answer."), cancellationToken);
                            unaswered = 0;
                        }

            }
        }

4) 你的 appId 或机器人名称是什么(我会在后面查一下)。

c48119d1-8078-4804-bc20-9dead31ea0f7

5) 你使用的是什么版本的网络聊天?

我在我的网站中使用最新版本的网络聊天/直连机器人频道

4

0 回答 0