Migracja projektu Dialogflow do Actions Builder

Jeśli jesteś deweloperem Dialogflow, możesz przenieść swoje dotychczasowe działania do Actions Builder. Używanie nowej metody dostępnej w konsoli do tworzenia akcji i migracji istniejącego projektu Dialogflow ma wiele korzyści. Na tej stronie opisaliśmy, jak korzystać z narzędzia do migracji Dialogflow/Actions Builder.

Zanim zapoznasz się z tym przewodnikiem, zapoznaj się z artykułem Omówienie migracji z Dialogflow to Actions Builder, w którym omówiono ważne pojęcia i różnice między Dialogflow a Actions Builder.

Działanie narzędzia do migracji

Narzędzie do migracji Dialogflow do Actions Builder konwertuje określone elementy Dialogflow, takie jak intencje i encje, na potrzeby kreatora działań.

Narzędzie do migracji automatycznie przenosi te elementy Dialogflow do Actions Builder:

  • Domyślna intencja powitalna Dialogflow, która jest przenoszona jako główne wywołanie.
  • Wszystkie wyrażenia i elementy treningowe dla każdego języka obsługiwanego przez akcję.
  • Intencje bez kontekstu wejściowego, które są przenoszone jako intencje globalne.
  • Intencje z jednym kontekstem wejściowym, które są przenoszone jako sceny i intencje.
  • Intencje z 1 kontekstem wejściowym i wypełnieniem przedziałów dają 2 sceny i 1 zamiar obsługi przejścia do sceny z wypełnieniem przedziałów.
  • Intencje, które używają zdarzeń zastępczych Dialogflow, multimediów i zdarzeń powitalnych, skutkują powiązanym modułem obsługi Actions Builder i intencją z wyrażeniami na potrzeby trenowania.
  • Intencje korzystające z jednostek systemu liczb i dat w Dialogflow powodują utworzenie powiązanych typów systemów Actions Builder.

Narzędzie do migracji nie obsługuje tych elementów Dialogflow:

  • Intencje z wieloma kontekstami wejścia. Sceny należy utworzyć ręcznie.
  • Intencje korzystające ze zdarzeń niestandardowych w Dialogflow.
  • Encje systemowe Dialogflow, które nie są datami ani numerami. Te elementy są tworzone jako nowe typy, ale musisz dodać ich synonimy ręcznie.
  • Kod źródłowy realizacji Dialogflow. Ten kod nie został przeniesiony do konstruktora z powodu różnic w wersjach interfejsu API.

Uzyskiwanie dostępu do narzędzia do migracji

Aby uzyskać dostęp do narzędzia do migracji, otwórz projekt Dialogflow w konsoli Actions i wybierz Programowanie > Działania.

Jeśli nie wiesz, który projekt jest używany w Konsoli Actions, otwórz konsolę Dialogflow i wykonaj te czynności:

  1. Otwórz projekt, który chcesz przenieść, i kliknij ikonę Settings (Ustawienia).
  2. W sekcji Ogólne > Identyfikator projektu kliknij link Działanie w Google. Wyświetli się wtedy Konsola Actions dla tego projektu.
  3. Otwórz Programowanie > Działania i kliknij Podgląd migracji.

Przejrzyj slajdy informacyjne i kliknij Rozpocznij migrację, aby wyświetlić panel migracji.

Panel migracji

Panel migracji zawiera opcje migracji oraz informacje o elementach, które zostaną przeniesione.

Opcje migracji

Narzędzie do migracji udostępnia 2 opcje migracji projektu Dialogflow do Actions Builder:

  • Migrate as a new project (Przenieś jako nowy projekt) (zalecane)
    • Zachowuje istniejący projekt Dialogflow bez zmian i przenosi jego kopię do nowego projektu.
    • Wyświetlana nazwa i informacje z katalogu pozostaną powiązane z istniejącym projektem produkcyjnym. Zapoznaj się z zalecanym procesem, aby dowiedzieć się, jak zastąpić aktywny projekt przeniesionym projektem.
  • Migruj ten projekt
    • Zastępuje istniejący projekt Dialogflow i zachowuje nazwę wyświetlaną oraz informacje z katalogu Asystenta zdefiniowane w projekcie.

Raport z migracji

Każdą sekcję raportu z migracji możesz rozwinąć, aby wyświetlić szczegóły konkretnego projektu związane z tymi informacjami:

  • Co zostanie w pełni przeniesione.
  • Elementy, które zostaną przeniesione, będą wymagały dodatkowej konfiguracji po migracji.
  • Elementy, które nie zostaną przeniesione i w razie potrzeby należy dodać ręcznie.
  • Funkcje używane w projekcie Dialogflow, które nie będą dostępne w Actions Builder.

Możesz też pobrać raport z migracji, który ułatwi Ci wprowadzanie zmian po migracji w projekcie.

Konfiguracja po migracji

Narzędzie do migracji ułatwia przeniesienie ważnych elementów projektu Dialogflow do Actions Builder, jednak aby skonfigurować przejścia, prompty i webhooki, które nie zostały przeniesione, potrzebne są dodatkowe rozwiązania programistyczne.

Zaktualizuj styl rozmowy, aby używać scen

Narzędzie do migracji generuje sceny na podstawie intencji Dialogflow, które mają 1 kontekst wejściowy, ale nie jest to relacja jeden do jednego. Niektóre przeniesione sceny mogą nie mieć sensu w Kreatorze działań w nowym modelu rozmowy.

Być może trzeba będzie przemyśleć przebieg rozmowy, uwzględniając potrzebne sceny. W zależności od stopnia złożoności akcji usunięcie niektórych wygenerowanych scen może być łatwiejsze, jeśli nie pasują już do przebiegu rozmowy.

Sprawdzanie i aktualizowanie intencji globalnych

Intencje Dialogflow bez kontekstu wejściowego są przenoszone do Actions Builder jako intencje globalne. Intencje globalne są aktywne w trakcie rozmowy, co oznacza, że można je dopasować w dowolnym momencie.

Intencje globalne mogą też służyć do tworzenia precyzyjnych linków do konkretnych przepływów po wywołaniu akcji użytkowników. Należy sprawdzić, czy wygenerowane intencje globalne powinny być aktywne i dostępne dla użytkowników w zakresie globalnym. Aby zmienić intencje globalne na normalne, kliknij daną intencję i zmień opcję obsługi intencji globalnej na NIE.

Skonsoliduj intencje, używając podobnych wyrażeń treningowych

Jeśli niektóre intencje są bardzo podobne do wyrażeń treningowych, należy je skonsolidować w jedną ogólną intencję. Zwiększa to dokładność dopasowania intencji.

Na przykład intencja A zawiera te wyrażenia na potrzeby trenowania:

  • „OK, chcę się upewnić, że jest gotowy”
  • „OK, urządzenie jest gotowe”
  • „Do dzieła”

Intencja B zawiera te wyrażenia na potrzeby trenowania:

  • „OK, chcę się upewnić, że jest gotowy”
  • „OK, myślę, że jestem gotowy”

Ponieważ wyrażenia na potrzeby trenowania między intencjami są podobne, skonsoliduj intencję A i intencję B w intencję bardziej ogólną (intencję C) i usuń pierwotną intencję. Użyj Intencji C w scenach, które odwołują się do Intencji A lub Intencji B.

Intencja C zawiera te wyrażenia na potrzeby trenowania:

  • „OK, chcę się upewnić, że jest gotowy”
  • „OK, urządzenie jest gotowe”
  • „Do dzieła”
  • „OK, myślę, że jestem gotowy”

Zaktualizuj obsługę zdarzeń

W przypadku intencji, które używają określonych zdarzeń (fallback, media i welcome) w Dialogflow, narzędzie do migracji tworzy powiązaną z nim intencję systemową. Jeśli ta sama intencja Dialogflow zawiera wyrażenia na potrzeby trenowania, jest tworzona dodatkowa intencja z tymi samymi wyrażeniami na potrzeby trenowania.

Aby zakończyć konfigurowanie zdarzeń w Actions Builder, musisz w razie potrzeby dodać moduły obsługi webhooka oraz przejścia.

Dodaj intencje systemowe do obsługi intencji zastępczych

W Dialogflow intencje zastępcze obsługują przypadki, w których intencja nie rozpoznaje danych wejściowych użytkownika. Actions Builder używa do tego celu intencji systemowych NO_MATCH i NO_INPOUT.

Zarówno intencje systemowe NO_MATCH, jak i NO_INPUT można dodać do sceny maksymalnie 3 razy. Na przykład dodanie do sceny 3 intencji NO_MATCH oznacza, że możesz stopniowo zwiększać szczegółowe informacje o tym, czego akcja oczekuje w odpowiedzi użytkownika.

Ważne jest, aby dodać intencje systemowe, w których Twój projekt Dialogflow korzystał z intencji zastępczych. Przykłady często używanych intencji systemowych w Actions Builder to NO_MATCH i NO_INPUT. Aby dowiedzieć się więcej o tych intencjach systemowych, sprawdź intencje systemowe.

Aktualizowanie strategii realizacji zamówień

Przeniesienie kodu realizacji Dialogflow do Actions Builder to jeden z ważniejszych elementów procesu migracji. Mimo że pojęcia wywołań webhooka i ogólnej realizacji webhooka są takie same, Actions Builder udostępnia opcje ponownego wykorzystywania funkcji i dodaje więcej możliwości wyzwalania webhooka.

Mając to na uwadze, rozważ ponowne sprawdzenie realizacji projektu i skorzystanie z funkcji Actions Builder:

  • Nazwy niestandardowych modułów obsługi webhooka oznaczają, że możesz wywoływać tę samą funkcję webhooka z wielu części różnych scen.
  • Wywołania webhooka można wykonywać na podstawie wejścia do sceny, weryfikacji warunkowej, wypełnienia przedziałów i dopasowywania intencji. Bardziej szczegółowa kontrola nad czasem i miejscem wykonywania wywołań webhooka umożliwia wykorzystanie większej liczby rozwiązań do realizacji kreacji.

Podczas aktualizowania kodu realizacji zastanów się, kiedy i gdzie chcesz wywoływać wywołania webhooka. Możesz włączyć webhooki w więcej niż 1 części sceny, korzystając z opcji Wywołaj webhooka. Więcej informacji o włączaniu webhooków znajdziesz w sekcji dotyczącej webhooków w przewodniku po migracji realizacji.

Przykłady migracji

Przeniesione projekty z Dialogflow do Actions Builder mają znacznie różniące się struktury z powodu różnic w modelu konwersacyjnym wykorzystywanych przez poszczególne narzędzia. Wykorzystanie scen, promptów i przejść w Actions Builder, a także funkcje takie jak moduły obsługi webhooka wielokrotnego użytku, sprawia, że kod przeniesionego projektu znacznie różni się od oryginału.

Porównanie przeniesionych projektów może pomóc w zrozumieniu typu i zakresu zmian wymaganych podczas migracji z Dialogflow do Actions Builder. Aby porównać implementacje, możesz przejrzeć te przeniesione przykładowe projekty:

Przykładowy projekt Kod Dialogflow Kod konstruktora działań
Fakty o Google kod projektu kod projektu
Transakcje kod projektu kod projektu
Łączenie kont kod projektu kod projektu

W tej sekcji opisujemy zalecany proces migracji i umożliwiasz zachowanie bieżącej nazwy wyświetlanej (wywołania), informacji z katalogu i danych historycznych.

Ten proces obejmuje pracę z 2 różnymi projektami Actions Builder, z których oba są przenoszone z tego samego projektu Dialogflow. Aby uniknąć wątpliwości: projekty te są określane jako:

  • eksperymentalny: ten projekt służy do konfigurowania i testowania migracji.
  • original (oryginał): ten projekt jest obecnie dostępny dla użytkowników.

Aby przenieść projekt, wykonaj te czynności:

  1. Utwórz kopię zapasową projektu Dialogflow przy użyciu funkcji eksportu w Dialogflow.
  2. Otwórz Actions Console (Konsolę Actions) i otwórz projekt, który chcesz przenieść.
  3. Otwórz Programowanie > Działania i kliknij Podgląd migracji.
  4. Przejrzyj slajdy informacyjne, a następnie kliknij Rozpocznij migrację.
  5. Wybierz Migrate as a new project (Przenieś jako nowy projekt).
  6. Zapoznaj się z raportem na temat migracji i opcjonalnie pobierz go do wykorzystania w przyszłości.
  7. Kliknij Migrate (Przenieś).
  8. Wpisz nazwę projektu „eksperymentalnego” i kliknij Utwórz projekt. Zapisz identyfikator projektu.
  9. Przeprowadź konfigurację po migracji i upewnij się, że akcja działa prawidłowo.
  10. Za pomocą interfejsu wiersza poleceń pobierz wersję roboczą projektu „eksperymentalnego”.

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

  11. Ponownie otwórz „oryginalny” projekt Dialogflow w Konsoli Actions.

  12. Otwórz Programowanie > Działania i kliknij Podgląd migracji.

  13. Wybierz Migrate this project (Przenieś ten projekt).

  14. Kliknij Migrate (Przenieś).

  15. Kliknij Więcej > Ustawienia projektu i zanotuj Identyfikator projektu.

  16. W systemie lokalnym otwórz plik settings.yaml pobranego projektu „eksperymentalnego” i zastąp wartość projectId identyfikatorem „oryginalnego” projektu.

  17. Użyj interfejsu wiersza poleceń interfejsu API, aby przekazać wersję roboczą zapisanego lokalnie projektu.

    gactions push

  18. Postępuj zgodnie z instrukcjami publikowania w kanale alfa lub beta albo opublikuj akcję w wersji produkcyjnej.