Biblioteka dialogów
DOTYCZY: SDK w wersji 4
Dialogi to kluczowa koncepcja SDK, które umożliwiają zarządzanie długotrwałą konwersacją z użytkownikiem. Okno dialogowe wykonuje zadanie, które może reprezentować część lub pełny wątek konwersacyjny. Może obejmować tylko jeden obrót lub wiele i może obejmować krótki lub długi okres czasu.
W tym artykule opisano podstawowe klasy i funkcje biblioteki okien dialogowych.
- Należy zapoznać się z , w jaki sposób boty działają (w tym co) i zarządzania stanem.
- Każde okno dialogowe reprezentuje zadanie konwersacyjne, które może zostać uruchomione w celu ukończenia i zwrócenia zebranych informacji.
- Każde okno dialogowe reprezentuje podstawową jednostkę przepływu sterowania: może się rozpocząć, kontynuować i zakończyć; wstrzymać i wznowić; lub zostać anulowane.
- Okna dialogowe są podobne do metody lub funkcji w języku programowania. Argumenty lub parametry można przekazać podczas uruchamiania okna dialogowego, a okno dialogowe może później wygenerować wartość zwracaną po jego zakończeniu.
Napiwek
Jeśli dopiero zaczynasz programować boty za pomocą platformy Bot Framework lub tworzyć nowe środowisko konwersacyjne, zacznij od Bot Framework Composer. W przypadku istniejących botów korzystających z zestawu SDK, które nie zostały utworzone w programie Composer, rozważ zaprezentowanie bota jako umiejętność i używanie narzędzia Composer do przyszłego tworzenia botów.
Stan okna dialogowego
Okna dialogowe mogą implementować konwersację wieloetapowąi w związku z tym polegają na przechowywanym stanie w trakcie dialogu. Bez stanu w dialogach, bot nie wiedziałby, gdzie się znajduje w konwersacji ani jakie informacje już zostały zebrane.
Aby zachować miejsce okna dialogowego w konwersacji, stan tego okna musi zostać pobrany z pamięci i zapisany do pamięci za każdym razem. Jest to obsługiwane za pośrednictwem akcesora właściwości stanu dialogu zdefiniowanej w stanie konwersacji bota. Ten stan okna dialogowego zarządza informacjami dla wszystkich aktywnych okien dialogowych i elementów podrzędnych aktywnych okien dialogowych. Dzięki temu bot może kontynuować od miejsca, w którym ostatnio zakończyło, i zarządzać różnymi modelami konwersacji.
W czasie wykonywania właściwość stanu okna dialogowego zawiera informacje o tym, na jakim etapie procesu logicznego znajduje się okno dialogowe, w tym wszelkie wewnętrznie zebrane informacje w postaci obiektu wystąpienia dialogu . Ponownie należy je wczytać do bota i zapisać w pamięci przy każdej turze.
Infrastruktura okna dialogowego
Wraz z różnymi typami dialogów, następujące klasy uczestniczą w projektowaniu i kontroli konwersacji. Chociaż zwykle nie trzeba bezpośrednio wchodzić w interakcje z tymi klasami, zapoznanie się z nimi i ich przeznaczenie jest przydatne podczas projektowania okien dialogowych dla bota.
Klasa | Opis |
---|---|
zestaw okien dialogowych | Definiuje kolekcję okien dialogowych, które mogą się odwoływać do siebie i współpracować. |
kontekst okna dialogowego | Zawiera informacje o wszystkich aktywnych oknach dialogowych. |
Instancja dialogu | Zawiera informacje o jednym aktywnym oknie dialogowym. |
rezultat tury dialogowej | Zawiera informacje o stanie z aktywnego lub ostatnio aktywnego okna dialogowego. Jeśli aktywne okno dialogowe się zakończyło, zawiera swoją wartość zwracaną. |
Typy okien dialogowych
Biblioteka okien dialogowych udostępnia kilka typów okien dialogowych, aby ułatwić zarządzanie konwersacjami bota. Niektóre z tych typów zostały szczegółowo opisane w dalszej części tego artykułu.
Typ | Opis |
---|---|
dialog | Klasa podstawowa dla wszystkich okien dialogowych. |
okno dialogowe kontenera | Klasa bazowa dla wszystkich okien dialogowych kontenera |
okno dialogowe składnika | Kontener dialogowy ogólnego przeznaczenia, który zawiera zestaw okien dialogowych, umożliwiając ponowne użycie całego zestawu. Po uruchomieniu okna dialogowego składnika, proces rozpoczyna się od określonego okna dialogowego w jego kolekcji. Po zakończeniu procesu wewnętrznego kończy się okno dialogowe składnika. |
okno dialogowe kaskadowe | Definiuje sekwencję kroków, dzięki czemu bot może kierować użytkownika przez proces liniowy. Są one zwykle przeznaczone do pracy w ramach okna dialogowego komponentu. |
okna dialogowe z monitami | Poproś użytkownika o wprowadzenie danych i zwróć wynik. Monit będzie powtarzany, dopóki nie otrzyma prawidłowych danych wejściowych lub zostanie anulowany. Są one zaprojektowane do współpracy z oknami dialogowymi kaskadowymi. |
okno dialogowe adaptacyjne | Typ okna dialogowego kontenera używanego przez kompozytora do udostępniania bardziej naturalnych przepływów konwersacyjnych. Nie przeznaczone do bezpośredniego użycia w botach SDK pierwszego rzędu. |
dialogi akcji | Typ okna dialogowego obsługującego implementację akcji w programie Composer. Nie, które mają być używane bezpośrednio w botze pierwszego zestawu SDK. |
okna dialogowe wejściowe | Typ okna dialogowego obsługującego implementację akcji wejściowych w programie Composer. Nie przeznaczone do użycia bezpośrednio w bocie opartym na SDK jako pierwszym. |
okno dialogowe umiejętności | Automatyzuje zarządzanie jednym lub kilkoma botami z umiejętnościami dla odbiorcy umiejętności. Composer bezpośrednio wspiera wykorzystanie umiejętności jako działań. |
okna dialogowego usługi QnA Maker | Automatyzuje dostęp do bazy wiedzy usługi QnA Maker. To okno dialogowe zostało zaprojektowane tak, aby działało również jako akcja w programie Composer. |
Ważny
adaptacyjne okna dialogowe zostały po raz pierwszy dodane w wersji 4.9 zestawu SDK języka C#. Okna dialogowe adaptacyjne obsługują Bot Framework Composer i nie mają być używane bezpośrednio w bocie stworzonym przy użyciu zestawu SDK.
Wzorce okien dialogowych
Istnieją dwa główne wzorce uruchamiania okien dialogowych i zarządzania nimi z bota.
- Zalecamy używanie narzędzia Bot Framework Composer do tworzenia dialogów konwersacyjnych, aby korzystać z bardziej naturalnych, swobodnych możliwości konwersacji. Aby uzyskać więcej informacji, zobacz Introduction to Bot Framework Composer. Takie boty mogą być nadal rozszerzane przy użyciu kodu tam, gdzie jest to konieczne.
- Opracuj bota w jednym z języków zestawu SDK i użyj okna dialogowego głównego uruchom metodę rozszerzenia. Aby uzyskać informacje na temat używania metody uruchamiania z oknem dialogowym składnika, zobacz o oknach dialogowych składników i kaskadowych oraz o tym, jak zaimplementować sekwencyjny przepływ konwersacji.
Stos okien dialogowych
Kontekst dialogu zawiera informacje o wszystkich aktywnych dialogach i zawiera stos dialogów, który działa jako stos wywołań dla wszystkich aktywnych dialogów. Każde okno dialogowe kontenera ma wewnętrzny zestaw okien dialogowych, które kontroluje, a więc każde aktywne okno dialogowe kontenera wprowadza wewnętrzny kontekst okna dialogowego i stos okna dialogowego w ramach jego stanu.
Chociaż nie uzyskasz bezpośredniego dostępu do stosu, zrozumienie, że istnieje i jaka jest jego funkcja, pomoże zrozumieć, jak działają różne aspekty biblioteki okien dialogowych.
Okna dialogowe kontenera
Okno dialogowe kontenera może być częścią większego zestawu okien dialogowych. Każdy kontener ma wewnętrzny zestaw okien dialogowych, który jest również zarządzany.
Każdy zestaw dialogów tworzy zakres do rozwiązywania identyfikatorów dialogów.
Zestaw SDK obecnie implementuje dwa typy okien dialogowych kontenerów: okna dialogowe składników i okna dialogowe adaptacyjne.
Struktura koncepcyjna tych dwóch elementów jest zupełnie inna. Jednak bot Composer może korzystać z obu tych elementów.
Identyfikatory okien dialogowych
Po dodaniu okna dialogowego do zestawu okien dialogowych przypiszesz mu unikatowy identyfikator w tym zestawie. Dialogi w zestawie nawiązują do siebie poprzez identyfikatory.
Gdy jedno okno dialogowe odwołuje się do innego okna dialogowego w czasie wykonywania, robi to za pomocą identyfikatora okna dialogowego. Kontekst okna dialogowego próbuje rozpoznać identyfikator na podstawie innych okien dialogowych w bezpośrednim zestawie okien dialogowych. Jeśli brak dopasowania, wyszukuje dopasowanie w wewnętrznym lub zewnętrznym zestawie okien dialogowych, i tak dalej. Jeśli nie zostanie znalezione dopasowanie, zostanie wygenerowany wyjątek lub błąd.
Okna dialogowe składników
Okna dialogowe składników używają modelu sekwencji do konwersacji, a każde okno dialogowe w kontenerze jest odpowiedzialne za wywoływanie innych okien dialogowych w kontenerze. Gdy wewnętrzny stos okna dialogowego składnika jest pusty, składnik kończy się.
Rozważ użycie dialogów komponentowych i kaskadowych, jeśli bot ma stosunkowo prosty przepływ kontroli, który nie wymaga bardziej dynamicznego przepływu konwersacji.
Informacje o składnikach i oknach dialogowych kaskadowych opisuje składniki, okna dialogowe kaskadowe i monity bardziej szczegółowo.
Inne okna dialogowe
Dialogi usługi QnA Maker i dialogi umiejętności mogą być używane jako autonomiczne dialogi lub jako część kolekcji dialogów w kontenerze.
Okno dialogowe usługi QnA Maker
Notatka
usługa Azure AI QnA Maker zostanie wycofana 31 marca 2025 r.. Od 1 października 2022 r. nie będzie można tworzyć nowych zasobów usługi QnA Maker ani baz wiedzy. Nowsza wersja funkcji pytań i odpowiedzi jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure.
Niestandardowe odpowiadanie na pytania, funkcja języka azure AI, to zaktualizowana wersja usługi QnA Maker. Aby uzyskać więcej informacji na temat obsługi pytań i odpowiedzi w zestawie SDK platformy Bot Framework, zobacz Opis języka naturalnego.
Okno dialogowe usługi QnA Maker uzyskuje dostęp do bazy wiedzy usługi QnA Maker i obsługuje monit usługi QnA Maker i aktywne funkcje szkoleniowe.
- Monity kontynuacyjne, znane również jako monity wieloetapowe, umożliwiają bazie wiedzy zadawanie użytkownikowi dodatkowych pytań przed udzieleniem odpowiedzi na pytanie.
- Sugestie dotyczące uczenia aktywnego umożliwiają ulepszanie bazy wiedzy w czasie. Okno dialogowe usługi QnA Maker obsługuje jawne opinie dotyczące funkcji uczenia aktywnego.
Aby uzyskać więcej informacji, zobacz:
- Co to jest usługa QnA Maker?.
- W ramach SDK jak używać usługi QnA Maker do odpowiadania na pytania.
- W programie Composer Dodawanie bazy wiedzy usługi QnA Maker do bota.
Okno dialogowe Umiejętności
Okno dialogowe umiejętności uzyskuje dostęp do jednej lub więcej umiejętności i zarządza nimi. Moduł dialogowy umiejętności przesyła akcje z bota głównego do bota zdolności i zwraca odpowiedzi zdolności użytkownikowi.
Aby uzyskać więcej informacji, zobacz:
- W SDK przegląd umiejętności .
- W Composerze, Informacje o umiejętnościach.