Как объединить 2 модели LUIS?
У меня есть 2 модели LUIS. Один я использую для непроизводственного бота, а другой - для производственного бота. Я внес много изменений в приложение LUIS non-prod как часть повседневной разработки и новых навыков. Теперь мы планируем применить эти навыки в prod bot, поэтому нам понадобятся те же изменения LUIS для prod LUIS.
Я, конечно, могу обновить модель prod LUIS без использования prod, скопировав Intents и объекты, высказывания, но, конечно, это отнимает много времени и пронаблюдает ошибки
Я хотел бы знать, как лучше всего объединить две модели LUIS и / или любые другие лучшие практики, которые я мог бы использовать.
4 ответа
Просто обходной путь, если вы спешите. Вы можете просто добавить две модели luis в LuisDialog, и она автоматически выберет самый высокий балл.
[LuisModel("Model", "secret")]
[LuisModel("Model", "secret")]
public class RootDialog : LuisDialog<object>
{
[LuisIntent("None")]
public async Task NoneRes(IDialogContext context, LuisResult result)
{
}
}
Используйте диспетчерский инструмент, если эти две модели находятся в отдельных приложениях LUIS. Он объединит их в одно приложение. Если это две модели (как версии) в одном приложении, проще экспортировать обе версии, чем использовать Node.js для объединения объектов JSON.
Как упомянул Николс, LUIS имеет возможность импортировать приложение LUIS в качестве новой версии в существующее приложение. Вы можете получить подробную информацию об импорте / экспорте версий из их документа.
Вы можете импортировать свой json-файл приложения LUIS для разработки в качестве новой версии в ваше производственное приложение LUIS и установить новую версию в качестве активной.
Лучшим сценарием в вашем случае будет клонирование вашей непроизводственной версии, присвоение ей имени новой версии, установка новой клонированной версии как активной и продолжение работы над непроизводственной версией.
Полную документацию к этому можно найти здесь