我正在使用 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) 你使用的是什么版本的网络聊天?
我在我的网站中使用最新版本的网络聊天/直连机器人频道

