В будущем планируется, чтобы помощник поддерживал различные навыки, а также индивидуальные навыки.На данный момент, как упоминалось data_henrik , вы можете использовать API V1 для вызова каждого навыка.
Но наличие нескольких навыков по-прежнему имеет свои проблемы, и это может дать вам некоторое представление.
Вот некоторые подходы, которые вы можете использовать (в некоторых случаях имена составляются :).
Распыляйте и молитесь
В этом методе вы отправляете свое пользовательское высказывание во все рабочие пространства и выбираете самое высокое.
Этот нужен, если у вас большое количество намерений (> 1000) и у вас есть четкие различия между этими намерениями.Это также самый дорогой в звонках.
Gateway
В этом наборе у вас есть навык высшего уровня.Это пытается понять цель, куда каждый вопрос должен быть направлен.Затем вы вызываете второй навык, который он предлагает, в качестве намерения, которое он возвращает.
Это работает, если у вас есть большое количество намерений, но схожие темы, но недостаточно похожих, чтобы объединить их в один навык.
Маршрутизатор
Аналогичен шлюзу, за исключением того, что после того, как вы определили последний навык для маршрутизации к вам, вы переходите только на этот навык.Если этот навык не понимает более поздний вопрос, он направляет его обратно к навыку верхнего уровня, чтобы выяснить, куда он должен идти.
Это хорошо работает, если у вас есть клиенты с четко определенным путем, куда они хотят идти.Поскольку они будут склонны задавать все свои вопросы в той же области.
График
Похож на роутер, за исключением того, что суб-навык не понимает, о чем просил человек, вместо того, чтобы вернуться на верхний уровень, он пытается выяснить, какие другие суб-навыкинавык имеет общие отношения с самим собой (если он не может, он возвращается обратно).
Это помогает, когда у нескольких навыков могут быть одинаковые намерения, но в контексте других уже заданных вопросов вы бы выбрали один навык вместо другого.
Цепочка
В настройке цепочки вы пытаетесь ответить на вопрос пользователя первым умением.Если вы не можете, тогда вы переходите ко второму навыку, и так далее.
Ваши намерения в этом случае отображаются в порядке известной частоты.
Этот метод хорошо работает, если ваши намерения очень похожи, но вы знаете наиболее распространенные вопросы, которые люди задают.Это один из самых сложных для реализации и поддержки.
Другие пункты.
Во-первых, каждому навыку нужен контекстный объект.Вы не можете разделить системную часть объекта контекста между навыками.Если вы используете Premium или Watson Assistant Plus, то это присматривается в самом умении (поэтому вам нужно только сохранить идентификаторы разговора).
«Врата», «Распыли и молись» и «цепочка» теряют способность иметь сложные разговорные потоки без серьезной работы.
Если вы планируете разовый вызов от одного навыка к другому, вы можете использовать облачные функции для достижения этой цели.Это уменьшает сложность и выводит логику за пределы прикладного уровня.Я добиваюсь чего-то подобного с помощью моего примера перевода языка .
Используя навыки вместо помощника, вы теряете способность выполнять развертывания на основе контроля версий.Вы можете создать несколько помощников, чтобы обойти это, но это делает вещи более грязными.