Мне нужно добавить Intents
в мое приложение Luis
, используя код c#
.В документах MS есть только примеры программного добавления высказываний.Однако я попытался сделать это самостоятельно.Поэтому я перешел к своему приложению в браузере, а затем добавил новое намерение, осмотрел вкладку сети и получил запрос Post
, подобный следующему:
uri: https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/App_ID/versions/0.1/intents
тело запросавот так (где «testIntent» - это имя добавленного намерения):
{
"name": "testIntent"
}
Затем я написал следующий код:
class Program
{
static void Main(string[] args)
{
AddIntent().Wait();
}
async static Task<HttpResponseMessage> SendPost(string uri, string requestBody)
{
using (var client = new HttpClient())
using (var request = new HttpRequestMessage())
{
request.Method = HttpMethod.Post;
request.RequestUri = new Uri(uri);
if (!String.IsNullOrEmpty(requestBody))
{
request.Content = new StringContent(requestBody, Encoding.UTF8, "text/json");
}
request.Headers.Add("Ocp-Apim-Subscription-Key", authoringKey);
return await client.SendAsync(request);
}
}
async static Task AddIntent()
{
string uri = "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/App_ID/versions/0.1/intents";
string requestBody = File.ReadAllText("json.json");
var response = await SendPost(uri, requestBody);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(JsonFormatter.Format(result));
}
}
и json.json
файл выглядит так:
[
{
"name": "Intent from c# code!"
}
]
Я получаю сообщение об ошибке:
{
"error": {
"code": "BadArgument",
"message": "Failed to parse classifier creation object. Parameter name: classifierCreateObject"
}
}