LUIS Authoring API:如何按意图过滤LUIS话语?

问题描述 投票:2回答:1

我需要为特定的意图检索所有标记的话语(也就是示例)。

似乎LUIS Authoring API中唯一要执行此操作的调用是GET review labeled examples

/luis/api/v2.0/apps/:appId/versions/:versionId/examples?skip=0&take=500 /luis/api/v2.0/apps/:appId/versions/:versionId/examples?skip=500&take=500

这将返回所有意图的所有话语。我有880个标记的话语,由于冗长的回复,它是一个2.5MB的文件。这使它变慢。

LUIS Web UI使用过滤调用:/luis/webapi/v2.0/apps/:appId/versions/0.1/models/:modelId/reviewLabels。生成的文件通常为10-50kB。但是,没有关于此调用的文档(注意路径中的webapi而不仅仅是api)。

那么:是否有一种支持的方法来检索过滤的话语列表?

botframework luis
1个回答
4
投票

是否有支持的方法来检索过滤的话语列表?

AFAIK,我无法从服务器端找到这个API,经过研究我发现即使是Luis Web UI也没有使用服务器提供的任何过滤器,它只是从服务器端获取所有话语并创建过滤器使用js in前景。

由于你使用webapi为Luis Web UI对结果进行了分层,经过测试,我们可以将这个webapi称为与api一起调用Ocp-Apim-Subscription-Key完全相同,例如我们可以在C#中编写这样的代码:

try
{
    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{SubscriptionKey}");
        var uri = "https://westus.api.cognitive.microsoft.com/luis/webapi/v2.0/apps/{appId}/versions/{versionNumber}/models/{modelId}/reviewLabels";
        var response = await client.GetAsync(uri);
        //TODO:
    }
}
catch (Exception e)
{
    Debug.WriteLine(e.Message);
}

没有关于这个webapi的官方文档,但我们可以尝试使用Postman来分析http请求。

© www.soinside.com 2019 - 2024. All rights reserved.