Biblioteka okien dialogowych
DOTYCZY: ZESTAW SDK w wersji 4
Okna dialogowe są koncepcją cMicrosoft Entral w zestawie SDK, zapewniając sposoby zarządzania 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ę ze sposobem działania botów (w tym z kolei) 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 rozpocząć, kontynuować i zakończyć; wstrzymywanie i wznawianie; lub anulować.
- 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 narzędziu Composer, rozważ ujawnienie bota jako umiejętności i użycie narzędzia Composer do przyszłego opracowywania botów.
Stan okna dialogowego
Okna dialogowe mogą implementować konwersację wieloetrową, a w związku z tym polegają na utrwalonej zmianie stanu. Bez stanu w oknach dialogowych bot nie wiedział, gdzie był w konwersacji ani jakie informacje już zebrał.
Aby zachować miejsce okna dialogowego w konwersacji, stan okna dialogowego musi zostać pobrany z i zapisany w pamięci po każdym kolei. Jest to obsługiwane za pośrednictwem metody dostępu właściwości stanu okna dialogowego 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 odebrać miejsce, w którym pozostało ostatnie i obsługiwać różne modele konwersacji.
W czasie wykonywania właściwość stanu okna dialogowego zawiera informacje o tym, gdzie okno dialogowe znajduje się w procesie logicznym, w tym wszelkie wewnętrznie zebrane informacje w postaci obiektu wystąpienia okna dialogowego. Ponownie należy je odczytać do bota i zapisać w pamięci po każdym kolei.
Infrastruktura okna dialogowego
Wraz z różnymi typami okien dialogowych następujące klasy są zaangażowane w projektowanie i kontrolę 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. |
Wystąpienie okna dialogowego | Zawiera informacje o jednym aktywnym oknie dialogowym. |
Wynik kolei okna dialogowego | Zawiera informacje o stanie z aktywnego lub ostatnio aktywnego okna dialogowego. Jeśli aktywne okno dialogowe zostanie zakończone, zawiera 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.
Type | Opis |
---|---|
Okno dialogowe | Klasa podstawowa dla wszystkich okien dialogowych. |
okno dialogowe kontenera | Klasa podstawowa dla wszystkich okien dialogowych kontenera , takich jak okna dialogowe składników i adaptacyjne. Utrzymuje wewnętrzny zestaw okien dialogowych i umożliwia traktowanie kolekcji okien dialogowych jako jednostki. |
okno dialogowe składnika | Typ ogólnego przeznaczenia okna dialogowego kontenera, który hermetyzuje zestaw okien dialogowych, co pozwala na ponowne użycie zestawu jako całości. Po uruchomieniu okna dialogowego składnika rozpoczyna się od wyznaczonego okna dialogowego w kolekcji. Po zakończeniu procesu wewnętrznego zostanie zakończone 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 kontekście okna dialogowego składnika. |
okna dialogowe monitu | Poproś użytkownika o podanie danych wejściowych i zwróć wynik. Monit będzie powtarzany, dopóki nie otrzyma prawidłowych danych wejściowych lub zostanie anulowany. Są one przeznaczone do 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 ma być używany bezpośrednio w botze pierwszego zestawu SDK. |
okna dialogowe akcji | Typ okna dialogowego obsługującego implementację akcji w programie Composer. Nie ma być używany bezpośrednio w botze pierwszego zestawu SDK. |
okna dialogowe danych wejściowych | Typ okna dialogowego obsługującego implementację akcji wejściowych w programie Composer. Nie ma być używany bezpośrednio w botze pierwszego zestawu SDK. |
okno dialogowe umiejętności | Automatyzuje zarządzanie co najmniej jednym botem umiejętności od użytkownika umiejętności. Kompozytor bezpośrednio wspiera umiejętności jako działania. |
Okno dialogowe usługi QnA Maker | Automatyzuje dostęp do baza wiedzy usługi QnA Maker. To okno dialogowe zostało zaprojektowane tak, aby działało również jako akcja w programie Composer. |
Ważne
Okna dialogowe adaptacyjne zostały po raz pierwszy dodane w wersji 4.9 zestawu SDK języka C#. Okna dialogowe adaptacyjne obsługują program Bot Framework Composer i nie mają być używane bezpośrednio w botze obsługującym zestaw 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 Wprowadzenie do programu 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 metody rozszerzenia uruchamiania okna dialogowego głównego. Aby uzyskać informacje na temat korzystania z metody run w oknie dialogowym składnika, zobacz informacje o oknach dialogowych składników i kaskadowych oraz o sposobie implementowania sekwencyjnego przepływu konwersacji.
Stos okien dialogowych
Kontekst okna dialogowego zawiera informacje o wszystkich aktywnych oknach dialogowych i zawiera stos okna dialogowego, który działa jako stos wywołań dla wszystkich aktywnych okien dialogowych. 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, a 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 okien dialogowych tworzy zakres rozpoznawania identyfikatorów okien dialogowych.
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. Okna dialogowe w zestawie odwołują się do siebie według identyfikatorów.
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 nie ma dopasowania, wyszukuje dopasowanie w zestawie okien dialogowych zawierających lub zewnętrznych itd. 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 okien dialogowych składników i kaskadowych, jeśli bot ma stosunkowo prosty przepływ sterowania, który nie wymaga bardziej dynamicznego przepływu konwersacji.
Informacje o składnikach i oknach dialogowych kaskadowych zawiera bardziej szczegółowe opisy składników, kaskadowych i okien dialogowych monitów.
Inne okna dialogowe
Okna dialogowe usługi QnA Maker i umiejętności mogą być używane jako autonomiczne okna dialogowe lub jako część kolekcji okien dialogowych w kontenerze.
Okno dialogowe usługi QnA Maker
Uwaga
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 ani baz wiedzy w programie QnA Maker. 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 baza wiedzy usługi QnA Maker i obsługuje monit z monitem usługi QnA Maker i funkcjami uczenia aktywnego.
- Monity monitujące, znane również jako monity z wieloma zwrotami, umożliwiają baza wiedzy poprosić użytkownika o więcej informacji przed udzieleniem odpowiedzi na pytanie.
- Sugestie dotyczące uczenia aktywnego umożliwiają ulepszanie baza 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 zestawie SDK sposób używania usługi QnA Maker do odpowiadania na pytania.
- W programie Composer jak dodać baza wiedzy usługi QnA Maker do bota.
Okno dialogowe Umiejętności
Okno dialogowe umiejętności uzyskuje dostęp do co najmniej jednego umiejętności i zarządza nim. Okno dialogowe umiejętności publikuje działania bota nadrzędnego do bota umiejętności i zwraca odpowiedzi umiejętności użytkownikowi.
Aby uzyskać więcej informacji, zobacz:
- W zestawie SDK omówienie umiejętności.
- W temacie Composer (Kompozytor) About skills ( Informacje o umiejętnościach).