Я полагаю, что проблема, с которой вы столкнулись, - это проблема в следующих строках MainDialog.cs
:
var locale = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
var cognitiveModels = _services.CognitiveModelSets[locale];
Это пытается использовать языковой стандарт (полученный из текущего потока согласно этой документации ) в качестве ключа для доступа к когнитивным моделям в вашем файле cognitivemodels.json
.
Внутри вашего cognitivemodels.json
файла он должен выглядеть так:
{
"cognitiveModels": {
// This line below here is what could be missing/incorrect in yours
"en": {
"dispatchModel": {
"type": "dispatch",
"region": "westus",
...
},
"knowledgebases": [
{
"id": "chitchat",
"name": "chitchat",
...
},
{
"id": "faq",
"name": "faq",
...
},
],
"languageModels": [
{
"id": "general",
"name": "msag-test-va-boten_general",
"region": "westus",
...
}
]
}
},
"defaultLocale": "en-us"
}
Клавиша en
внутри объекта cognitiveModels
- это то, что код пытается использовать для извлечения ваших когнитивных моделей, таким образом, если выдвинутый в коде locale
не соответствует ключам локали в вашем cognitivemodels.json
тогда вы получите ошибку ключа словаря.
EDIT
Проблема, с которой столкнулся OP - неудачное развертывание. Мы предприняли следующие шаги:
- Проверен
deploy_log.txt
внутри папки Deployment
на наличие ошибок.
- Если в этом случае он был пуст - плохой знак.
- Проверен
deploy_cognitive_models_log.txt
внутри папки Deployment
на наличие ошибок.
- Произошла ошибка
Error: Cannot find module 'C:\Users\dip_chatterjee\AppData\Roaming\npm\node_modules\botdispatch\bin\dispatch.js
.
- Чтобы исправить эту ошибку, мы переустановили все необходимые пакеты npm согласно шагу 5 этого руководства , затем запустили сценарий развертывания согласно этого руководства .