gpt4 book ai didi

c# - Azure Bot Framework、QnA Maker API、如何在 QnA Dialogue 中获取查询文本

转载 作者:行者123 更新时间:2023-11-30 20:28:04 26 4
gpt4 key购买 nike

在 QnA Maker API 中,当没有找到结果时,它会返回一些默认消息,或者我们可以更改该消息,但我想在没有结果时运行一个函数/方法。下面是代码。

public QnaDialog(): base(
new QnAMakerService(new QnAMakerAttribute(ConfigurationManager.AppSettings["QnaSubscriptionKey"],
ConfigurationManager.AppSettings["QnaKnowledgebaseId"], "Hmm, I wasn't able to find any relevant content. Can you try asking in a different way? or try with typing help.", 0.5)))
{
//this is what i want to call, this is working but **i am not able to get query text here**
SendEmail email = new SendEmail();
email.SendEmailtoAdmin("Query_Text", "Email ID");
}

最佳答案

查看 QnaMakerDialog 实现 here在 GitHub 上。

您将看到有多个选项,更容易的是覆盖 Qna 搜索后调用的 DefaultWaitNextMessageAsync 方法。

protected virtual async Task DefaultWaitNextMessageAsync(IDialogContext context, IMessageActivity message, QnAMakerResults result)
{
if (result.Answers.Count == 0)
{
// Here you have the query text in message.Text so:
SendEmail email = new SendEmail();
email.SendEmailtoAdmin(message.Text, "Email ID");
}

context.Done(true);
}

请注意,如果您想避免发送有关找不到 Qna 的消息,则应重写 MessageReceivedAsync 并更改 block 内的代码 if (sendDefaultMessageAndWait)

关于c# - Azure Bot Framework、QnA Maker API、如何在 QnA Dialogue 中获取查询文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47865152/

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