Implementowanie procedur obsługi działań i okien dialogowych

Ukończone

Logika przetwarzania działania można zaimplementować na wiele sposobów. Zestaw BOT Framework SDK udostępnia klasy, które mogą ułatwić tworzenie botów, które zarządzają konwersacjami przy użyciu następujących elementów:

  • Programy obsługi działań: metody zdarzeń, które można zastąpić w celu obsługi różnych rodzajów działań.
  • Okna dialogowe: bardziej złożone wzorce obsługi stanowych, wieloeściowych konwersacji.

Programy obsługi działań

W przypadku prostych botów z krótkimi, bezstanowymi interakcjami można użyć programów obsługi działań do zaimplementowania modelu konwersacji opartego na zdarzeniach, w którym zdarzenia są wyzwalane przez działania, takie jak użytkownicy dołączający do konwersacji lub odbierany komunikat. Gdy działanie występuje w kanale, usługa Bot Framework wywołuje funkcję aktywność procesu karty bota, przekazując szczegóły działania działania. Karta tworzy kontekst kolei dla działania i przekazuje go do procedury obsługi kolei bota, która wywołuje program obsługi działań specyficznych dla poszczególnych zdarzeń.

A bot uses activity handlers to handle turns in a conversation

Klasa bazowa Programu ActivityHandler zawiera metody zdarzeń dla wielu rodzajów typowych działań, w tym:

  • Odebrano wiadomość
  • Członkowie dołączyli do konwersacji
  • Członkowie opuścili konwersację
  • Odebrano reakcję komunikatu
  • Zainstalowany bot
  • Inne...

Można zastąpić wszystkie programy obsługi działań, dla których chcesz zaimplementować logikę niestandardową.

Włącz kontekst

Działanie odbywa się w kontekście kolei, która reprezentuje jedną dwukierunkową wymianę między użytkownikiem a botem. Metody obsługi działań obejmują parametr kontekstu kolei, którego można użyć do uzyskiwania dostępu do odpowiednich informacji. Na przykład program obsługi działań dla odebranego działania komunikatu zawiera tekst komunikatu.

Więcej informacji

Aby uzyskać więcej informacji na temat procedur obsługi działań, zobacz dokumentację zestawu Bot Framework SDK.

Dialogi

W przypadku bardziej złożonych przepływów konwersacyjnych, w których należy przechowywać stan między kolei, aby umożliwić konwersację wieloetrową, można zaimplementować okna dialogowe. Biblioteka okien dialogowych zestawu SDK platformy Bot Framework udostępnia wiele klas okien dialogowych, które można połączyć w celu zaimplementowania wymaganego przepływu konwersacji dla bota.

Istnieją dwa typowe wzorce używania okien dialogowych do tworzenia konwersacji bota:

Okna dialogowe składników

Okno dialogowe składnika to okno dialogowe, które może zawierać inne okna dialogowe zdefiniowane w zestawie okien dialogowych. Często początkowe okno dialogowe w oknie dialogowym składnika to okno dialogowe kaskadowe , które definiuje sekwencyjną serię kroków prowadzących konwersację. Każdy krok jest często wyświetlany jako okno dialogowe monitu , tak aby przepływ konwersacyjny składał się z sekwencyjnie zbierania danych wejściowych od użytkownika. Przed przekazaniem danych wyjściowych do następnego kroku należy wykonać każdy krok

Na przykład bot zamawiania pizzy może być zdefiniowany jako okno dialogowe kaskadowe, w którym użytkownik zostanie poproszony o wybranie rozmiaru pizzy, a następnie doładowanie, a następnie wyświetlenie monitu o płatność.

A component dialog contains a waterfall dialog for ordering a pizza

Adaptacyjne sesje dialogowe

Adaptacyjne okno dialogowe to inne okno dialogowe kontenera, w którym przepływ jest bardziej elastyczny, co pozwala na przerwy, anulowania i przełączniki kontekstowe w dowolnym momencie konwersacji. W tym stylu konwersacji bot inicjuje okno dialogowe katalogu głównego, które zawiera przepływ akcji (które mogą zawierać gałęzie i pętle) oraz wyzwalacze, które mogą być inicjowane przez akcje lub przez rozpoznawanie. Rozpoznawanie analizuje dane wejściowe języka naturalnego (zwykle przy użyciu usługi Language Understanding) i wykrywa intencje, które można zamapować na wyzwalacze, które zmieniają przepływ konwersacji — często uruchamiając nowe okna dialogowe podrzędne, które zawierają własne akcje, wyzwalacze i rozpoznawanie.

Na przykład bot zamawiania pizzy może zaczynać się od głównego okna dialogowego, które po prostu wita użytkownika. Gdy użytkownik wprowadzi komunikat wskazujący, że chce zamówić pizzę, rozpoznawanie wykrywa tę intencję i używa wyzwalacza do uruchomienia innego okna dialogowego zawierającego przepływ akcji wymaganych do zebrania informacji o zamówieniu pizzy. W dowolnym momencie w oknie dialogowym zamawiania pizzy użytkownik może wprowadzić komunikat wskazujący, że chce zrobić coś innego (na przykład anulować zamówienie), a rozpoznawanie okna dialogowego zamawiania pizzy (lub jego nadrzędnego okna dialogowego) może służyć do wyzwolenia odpowiedniej zmiany w przepływie konwersacji.

An adaptive dialog for ordering a pizza

Uwaga

Korzystanie z okien dialogowych zapewnia większą elastyczność niż w przypadku bota opartego wyłącznie na programach obsługi działań, ale może być bardziej złożone w programach. Chociaż możesz użyć zestawu Bot Framework SDK do zaimplementowania okien dialogowych w kodzie, warto rozważyć użycie narzędzia Bot Framework Composer do kompilowania botów ze złożonymi oknami dialogowymi, korzystając z interfejsu projektowania wizualnego.