gpt4 book ai didi

botframework - 如何集成 QnA maker 来收集用户信息?

转载 作者:行者123 更新时间:2023-12-04 02:36:46 26 4
gpt4 key购买 nike

我目前已将 LUIS 与我的聊天机器人集成在一起。场景是:-

  1. 用户在 bot 中输入内容。
  2. 机器人逻辑调用 LUIS 来确定 Intent 并基于 INTENT调用相应的对话框。
  3. 在对话中,我使用瀑布对话收集用户信息提示。

我现在想要的是,在上述场景中的第 2 步之后,根据从 LUIS 返回的 INTENT,我希望后续问题从 QnA 而不是 BOT 中呈现。基本上,我想用 QnA maker 替换瀑布步骤。是否可以这样做,是否可行?

流程如下所述:-用户:-创建任务

-->>>>>从 LUIS 返回的意图

-->>>>>根据返回的INTENT调用QnA

QnA:-您想在哪个项目中创建任务?

USER:-(提供项目名称)

QnA:- 任务的描述是什么?

用户:-(提供描述)

最佳答案

解决这部分 - 我想用 QnA maker 替换瀑布步骤。这样做可以吗还是可行?

答案是否定的。 QnA 是您的知识库与搜索引擎服务的结合。它会根据您提出的问题动态选择答案。

现在,继续为您的主要问题提出解决方案建议。 (这是我已经在我的代码中做的事情)

您可以在用户信息收集到您的代码中的 qna 制造商之前捕获它。您可以专门针对用户信息创建提示,如果您的流程确定它是用户信息,则您可以分支到现在的用户信息收集系统(从而防止触发 qna)。

当它不是用户信息(或者你不想捕获的东西)时,你让 qna maker 的默认流程接管。

        var tempInputText = activity.Text;
if(tempInputText.Contains("batman") == true)
{
var tempActivityBatman = new Activity();
tempActivityBatman.Text = "did you just ask about batman, " + userProfile.Name + "?";
tempActivityBatman.Type = "message";
//await stepContext.Context.SendActivityAsync(_templateEngine.GenerateActivityForLocale("UnsupportedMessage", userProfile));
await stepContext.Context.SendActivityAsync(tempActivityBatman,cancellationToken);
return await stepContext.NextAsync();
}

上面的代码示例是一个快速的脏代码,我用它来浏览我希望聊天从常规代码转移的特定单词。

关于botframework - 如何集成 QnA maker 来收集用户信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61441246/

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