Microsoft Azure LUIS API: отсутствует поле функций phraselist - PullRequest
1 голос
/ 24 апреля 2020

Я использую API для Microsoft LUIS. Я загрузил модель в виде файла json через их веб-интерфейс, а затем загрузил ее через веб-интерфейс без проблем. Затем я написал некоторый код для загрузки файла json через их API, и я получаю аргумент 400: Bad с этим полем: Пропущен список функций phraselist.

Вот код

open System.IO
let baseModelPath = @"C:\Resources\Model.2.json"
let text = File.ReadAllText(baseModelPath)

#r "System.Net.Http"
open System.Net.Http
open System.Text

let versionId = "0.3"
let uri = "https://westus.api.cognitive.microsoft.com/luis/api/v2.0/apps/XXXXXX/versions/import?versionId=" + versionId
let subscriptionKey = "XXXXXXXXXXX"
let client = new HttpClient()
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey)
let content = new StringContent(text, Encoding.UTF8, "application/json")
let response = client.PostAsync(uri,content).Result
let resultJson = response.Content.ReadAsStringAsync().Result
resultJson

Кто-нибудь видел это раньше? Inte rnet не сильно помогает ...

1 Ответ

0 голосов
/ 28 апреля 2020

Это была проблема с моделью и тем, как V2 API обрабатывает дубликаты. Я загрузил уникальные значения для Intents без проблем. Когда я загружал высказывания (конечная точка «примера»), некоторые высказывания не сохранялись. Оказывается, что если вы передадите одно и то же значение для текста высказывания, даже если у него другое имя intentName, первое намерение теряет эту ссылку на высказывание, а второе получает его. Поэтому, когда загружается вся модель, некоторые намерения имеют 0 связанных высказываний. Попробуйте построить модель - не получается

...