Миграция проекта Dialogflow в Action Builder

Как разработчик Dialogflow, вы можете перенести существующие действия в Actions Builder. Использование нового метода разработки действий в консоли дает ряд преимуществ , а миграция существующего проекта Dialogflow упрощается. На этой странице описывается, как использовать инструмент миграции Dialogflow/Actions Builder.

Прежде чем приступить к работе с этим руководством, вам следует просмотреть обзор миграции Dialogflow на Actions Builder , в котором рассматриваются важные концепции и различия между Dialogflow и Actions Builder.

Что делает инструмент миграции

Инструмент миграции Dialogflow в Action Builder преобразует определенные элементы Dialogflow, такие как намерения и сущности, для работы с Action Builder.

Инструмент миграции автоматически переносит следующие элементы Dialogflow в Actions Builder:

  • Приветственное намерение Dialogflow по умолчанию, которое переносится как основной вызов.
  • Все обучающие фразы и сущности для каждого языка, поддерживаемого вашим действием.
  • Намерения без входного контекста, которые переносятся как глобальные намерения.
  • Намерения с одним входным контекстом, которые переносятся как сцены и намерения.
  • Интенты с одним входным контекстом и заполнением слотов приводят к созданию двух сцен и одного намерения для обработки перехода к сцене с заполнением слотов.
  • Намерения, использующие резервные события Dialogflow, медиа-события и события приветствия, приводят к созданию связанного обработчика Actions Builder и намерения с обучающими фразами.
  • Намерения, использующие сущности даты и системы счисления Dialogflow, приводят к созданию связанных типов систем Actions Builder.

Инструмент миграции не обрабатывает следующие элементы Dialogflow:

  • Намерения с несколькими контекстами ввода. Сцены необходимо создавать вручную.
  • Намерения, использующие пользовательские события в Dialogflow.
  • Системные объекты Dialogflow, которые не являются датой или числом. Эти сущности создаются как новые типы, но синонимы необходимо добавлять вручную.
  • Исходный код выполнения диалогового потока. Этот код не переносится в Builder из-за различий в версиях API.

Доступ к инструменту миграции

Чтобы получить доступ к инструменту миграции, откройте проект Dialogflow в консоли «Действия» и выберите «Разработка» > «Действия» .

Если вы не уверены в проекте, используемом в консоли Actions, перейдите в консоль Dialogflow и выполните следующие действия:

  1. Откройте проект, который хотите перенести, и щелкните значок «Настройки» .
  2. В разделе «Основные» > «Идентификатор проекта» нажмите ссылку «Действие в Google» . Этот шаг приведет вас к консоли действий для конкретного проекта.
  3. Перейдите в раздел «Разработка» > «Действия» и нажмите «Предварительный просмотр миграции» .

Просмотрите информационные слайды и нажмите «Начать миграцию» , чтобы увидеть панель мониторинга миграции.

Панель управления миграцией

Панель мониторинга миграции показывает варианты миграции, а также информацию о том, какие элементы будут перенесены.

Варианты миграции

Инструмент миграции имеет два варианта переноса вашего проекта Dialogflow в Actions Builder:

  • Перенести как новый проект (рекомендуется)
    • Сохраняет существующий проект Dialogflow нетронутым и переносит копию в новый проект.
    • Отображаемое имя и информация о каталоге остаются связанными с существующим производственным проектом. Ознакомьтесь с рекомендуемым процессом перезаписи действующего проекта перенесенным проектом.
  • Перенести этот проект
    • Заменяет существующий проект Dialogflow и сохраняет существующее отображаемое имя и информацию о каталоге Assistant, которую вы определили для своего проекта.

Отчет о миграции

Вы можете развернуть каждый раздел отчета о миграции, чтобы отобразить конкретные сведения о проекте, относящиеся к следующей информации:

  • Что будет полностью перенесено.
  • Что будет перенесено, но потребует дополнительной настройки после переноса.
  • Что не будет перенесено и что нужно будет добавить вручную (при необходимости).
  • Какие функции, используемые в вашем проекте Dialogflow, не будут доступны в Actions Builder.

Вы также можете скачать отчет о миграции, на который вы сможете ссылаться при внесении изменений в свой проект после миграции .

Настройка после миграции

Хотя инструмент миграции помогает переместить важные части вашего проекта Dialogflow в Actions Builder, необходима дополнительная разработка для настройки переходов, подсказок и веб-перехватчиков, которые не были перенесены.

Обновите свой разговорный процесс, используя сцены.

Хотя инструмент миграции генерирует сцены на основе намерений Dialogflow, которые имеют один входной контекст, это не однозначное отношение. Некоторые из перенесенных сцен могут не иметь смысла в Actions Builder с новой моделью диалога .

Возможно, вам придется переосмыслить ход разговора, оценив, какие сцены необходимы. В зависимости от сложности вашего Действия, возможно, будет проще удалить некоторые из сгенерированных сцен, если они больше не соответствуют вашему потоку разговора.

Просмотр и обновление глобальных намерений

Намерения диалогового потока без входного контекста переносятся в Actions Builder как глобальные намерения. Глобальные намерения активны на протяжении всего разговора, а это значит, что их можно сопоставить в любой момент.

Глобальные намерения также можно использовать для глубокого связывания пользователей с конкретными потоками, когда они вызывают ваше действие. Важно проверить, должны ли сгенерированные глобальные намерения быть активными и доступными для пользователей в глобальной области видимости. Чтобы изменить глобальные намерения на обычные, щелкните намерение и измените параметр обработки глобальных намерений на NO .

Объедините намерения похожими обучающими фразами.

Если некоторые из ваших намерений содержат очень похожие обучающие фразы, вам следует объединить их в одно общее намерение. Это повышает точность сопоставления намерений.

Например, намерение А имеет следующие обучающие фразы:

  • «ОК, я хочу убедиться, что оно готово»
  • «Хорошо, это готово»
  • "Давай сделаем это"

Намерение B имеет следующие обучающие фразы:

  • «ОК, я хочу убедиться, что оно готово»
  • «Хорошо, думаю, я готов»

Поскольку обучающие фразы между двумя намерениями схожи, объедините намерение A и намерение B в более общее намерение ( намерение C ) и удалите оригиналы. Используйте намерение C в сценах, которые относятся либо к намерению A , либо к намерению B.

Intent C имеет следующие обучающие фразы:

  • «ОК, я хочу убедиться, что оно готово»
  • «Хорошо, это готово»
  • "Давай сделаем это"
  • «Хорошо, думаю, я готов»

Обновить обработку событий

Для намерений, которые используют определенные события ( fallback , media и welcome ) в Dialogflow, инструмент миграции создает связанное системное намерение для этого события. Если в том же намерении Dialogflow есть обучающие фразы, создается дополнительное намерение с теми же обучающими фразами.

Чтобы завершить настройку событий в Actions Builder, вам необходимо добавить обработчики веб-перехватчиков, а также переходы, если это необходимо.

Добавьте системные намерения для обработки резервных намерений.

В Dialogflow резервные намерения обрабатывают случаи, когда намерение не распознает ввод пользователя. Action Builder использует системные намерения NO_MATCH и NO_INPOUT для учета таких случаев.

Системные намерения NO_MATCH и NO_INPUT можно добавлять в сцену до трех раз. Например, добавление в сцену трех намерений NO_MATCH означает, что вы можете постепенно предоставлять более подробную информацию о том, что ваше действие ищет в ответе пользователя.

Важно добавить системные намерения, если ваш проект Dialogflow использует резервные намерения. Некоторыми примерами часто используемых системных намерений Actions Builder являются NO_MATCH и NO_INPUT . Чтобы узнать больше об этих системных намерениях, вы можете проверить системные намерения .

Обновите свою стратегию выполнения заказов

Перенос кода выполнения Dialogflow в Actions Builder — одна из самых важных частей процесса миграции. Хотя концепции вызовов веб-перехватчиков и общего выполнения остаются прежними, Actions Builder предоставляет возможности повторного использования функций и добавляет больше возможностей запуска веб-перехватчиков.

Имея это в виду, вы можете рассмотреть возможность пересмотра выполнения вашего проекта, чтобы воспользоваться преимуществами функций Actions Builder:

  • Пользовательские имена обработчиков веб-перехватчиков означают, что вы можете вызывать одну и ту же функцию веб-перехватчика из нескольких частей разных сцен.
  • Вызовы Webhook могут выполняться на основе входа в сцену, условной проверки, заполнения слотов и сопоставления намерений. Более детальный контроль над тем, когда и где выполняются вызовы веб-перехватчика, позволяет использовать более творческие решения для выполнения заказов.

Обновляя код выполнения, подумайте, когда и где следует запускать вызовы веб-перехватчика. Вы можете включить веб-перехватчики в нескольких частях сцены, используя опцию «Вызов веб-перехватчика» . Дополнительные сведения о включении веб-перехватчиков см. в разделе веб-перехватчиков руководства по миграции выполнения .

Примеры миграции

Перенесенные проекты из Dialogflow в Actions Builder имеют существенно разные структуры из-за различий в диалоговой модели, которую использует каждый инструмент. Использование сцен, подсказок и переходов в Actions Builder, а также таких функций, как многократно используемые обработчики веб-перехватчиков, значительно отличает код перенесенного проекта от исходного.

Сравнение перенесенных проектов может помочь вам понять тип и объем изменений, необходимых при переходе с Dialogflow на Actions Builder. Вы можете просмотреть следующие примеры перенесенных проектов, чтобы сравнить реализации:

Пример проекта Код диалогового потока Код конструктора действий
Факты о Google код проекта код проекта
Транзакции код проекта код проекта
Привязка аккаунта код проекта код проекта

В этом разделе описан рекомендуемый процесс миграции, который позволяет сохранить текущее отображаемое имя (вызов), информацию о каталоге и исторический анализ.

Этот процесс включает в себя работу с двумя разными проектами Actions Builder, оба из которых перенесены из одного и того же проекта Dialogflow. Для ясности эти проекты именуются следующим образом:

  • экспериментальный : этот проект используется для настройки и тестирования вашей миграции.
  • оригинал : Этот проект в настоящее время работает и обслуживает пользователей.

Чтобы перенести проект, сделайте следующее:

  1. Создайте резервную копию проекта Dialogflow, используя функцию экспорта Dialogflow .
  2. Перейдите в консоль действий и откройте проект, который вы хотите перенести.
  3. Перейдите в раздел «Разработка» > «Действия» и нажмите «Предварительный просмотр миграции» .
  4. Просмотрите информационные слайды и нажмите «Начать миграцию» .
  5. Выберите «Мигрировать как новый проект» .
  6. Просмотрите отчет о миграции и при необходимости загрузите его для дальнейшего использования.
  7. Нажмите «Мигрировать» .
  8. Введите имя своего «экспериментального» проекта и нажмите «Создать проект» . Запишите идентификатор проекта .
  9. Выполните все необходимые настройки после миграции и убедитесь, что ваше действие работает должным образом.
  10. Используйте интерфейс командной строки gactions , чтобы получить черновик вашего «экспериментального» проекта.

    gactions pull --project-id experimental-project-id

  11. Снова откройте «исходный» проект Dialogflow в консоли «Действия».

  12. Перейдите в раздел «Разработка» > «Действия» и нажмите «Предварительный просмотр миграции» .

  13. Выберите «Перенести этот проект ».

  14. Нажмите «Мигрировать» .

  15. Нажмите значок «Дополнительно» > «Настройки проекта» и запишите идентификатор проекта .

  16. В вашей локальной системе откройте файл settings.yaml «экспериментального» проекта, который вы извлекли, и замените projectId на идентификатор «исходного» проекта.

  17. Используйте интерфейс командной строки gactions, чтобы отправить черновик локально сохраненного проекта.

    gactions push

  18. Следуйте инструкциям по публикации через альфа- или бета-каналы или опубликуйте свое действие в рабочей среде .