gpt4 book ai didi

c# - 如何在 Microsoft Bot Framework 的 LuisDialog 中获取 LUIS 上下文 ID

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:09 25 4
gpt4 key购买 nike

我正在尝试向我的 LUIS 提供查询缺少项目时所需的缺失信息。例如。

如果有人说,我想下订单。为此,我需要知道有多少用户。 https://api.projectoxford.ai/luis/v2.0/apps/ 上的 LUIS确保我正在与此查询对话时自动创建上下文 ID。

当 LUIS 对话框提示缺少内容的问题时,我如何在 Bot Framework 中获取或告知相同的内容。

这是代码

[Serializable]
[LuisModel("something", "something")]
public class SimpleLUISDialog : LuisDialog<object>
{
[LuisIntent("GetQuote")]
public async Task GetQuote(IDialogContext context, LuisResult result)
{
PromptDialog.text(context, GetChildNumberAsync, "How many Users will you be adding ?", "Sorry please try again", 2);
}
}


private async Task GetUserNumberAsync(IDialogContext context, IAwaitable<string> result)
{
// send to LUIS again for checking the entity for number of users with Context ID
}
}

这是写的是 LUIS Dialog on API (JSON)

"dialog": {
"prompt": "How many users needed?",
"parameterName": "NumberOfLicenses",
"parameterType": "number",
"contextId": "746024ff-a4eb-4f58-b014-42605a3cb757",
"status": "Question"
}

最佳答案

您似乎在 LuisModel 中使用了 ActionParameters,并且如果原始消息中未提供它们,您正在尝试实现它们。

虽然您可以按照说明进行一些“手动修改”以再次调用 LUIS here (不是使用上下文 ID,而是模拟一条新消息),我不推荐这样做。

相反,我鼓励您查看 BotBuilder 的 develop BotFramework 团队添加了对 LUIS v2 API 的支持并添加了一些全新功能的分支(参见 11 月 11 日的提交);其中之一,我相信正是您正在寻找的。

有了最新的更改,如果您的意图需要参数但未提供这些参数,LuisDialog 现在将起作用。在这种情况下,LuisDialog 将 automatically launch和一个 LuisActionDialog并使用您在操作参数中定义的提示消息向用户询问缺少的参数。

我上次检查时它还没有作为 NuGet 包发布;但可能值得再次检查。在最坏的情况下,您可以暂时下载 BotBuilder 的代码并在您的项目中引用它。

您需要在 LuisModel 属性中指定 API 版本才能开始使用它。

[LuisModel("something", "something", LuisApiVersion.V2)]

关于c# - 如何在 Microsoft Bot Framework 的 LuisDialog 中获取 LUIS 上下文 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40693987/

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