Tworzenie wielu etapów konwersacji za pomocą dodatkowych monitów

Użyj monitów i kontekstu, aby zarządzać wieloma zwrotami, znanymi jako wiele kolei, dla bota z jednego pytania do drugiego.

Aby zobaczyć, jak działa wiele kolei, zobacz następujący pokazowy film wideo:

Konwersacja wielowęźna w usłudze QnA Maker

Uwaga

Usługa QnA Maker jest wycofana 31 marca 2025 r. Nowsza wersja funkcji pytań i odpowiedzi jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure. Aby uzyskać możliwości odpowiedzi na pytania w usłudze językowej, zobacz odpowiadanie na pytania. Od 1 października 2022 r. nie będzie można tworzyć nowych zasobów usługi QnA Maker. Aby uzyskać informacje na temat migrowania istniejących baz wiedzy usługi QnA Maker do odpowiadania na pytania, zapoznaj się z przewodnikiem migracji.

Co to jest konwersacja wielowrotna?

Nie można odpowiedzieć na niektóre pytania w jednej kolejce. W ramach projektu konwersacji aplikacji klienckiej (czatbota) użytkownik może zadać pytanie, które należy przefiltrować lub uściślić w celu określenia poprawnej odpowiedzi. Ten przepływ jest możliwy przez przedstawienie użytkownikowi monitów.

Gdy użytkownik zadaje pytanie, usługa QnA Maker zwraca odpowiedź i wszelkie monity dotyczące kontynuacji. Ta odpowiedź pozwala przedstawić pytania dotyczące kontynuacji w postaci opcji wyboru.

Przestroga

Podpowiedzi w konwersacji wieloetapowej nie są wyodrębniane z dokumentów dotyczących często zadawanych pytań. Jeśli potrzebujesz wyodrębniania wieloetapowego, usuń znaki zapytania, które wyznaczają pary pytań i odpowiedzi jako często zadawane pytania.

Przykładowa wielowraca rozmowa z czatbotem

Za pomocą wielu kolejek czatbot zarządza rozmową z użytkownikiem w celu określenia ostatecznej odpowiedzi, jak pokazano na poniższej ilustracji:

Okno dialogowe z wieloma zwrotami z monitami, które prowadzą użytkownika przez konwersację

Na powyższym obrazie użytkownik rozpoczął konwersację, wprowadzając pozycję Moje konto. Baza wiedzy ma trzy połączone pary pytań i odpowiedzi. Aby uściślić odpowiedź, użytkownik wybiera jedną z trzech opcji w baza wiedzy. Pytanie (#1) zawiera trzy monity dotyczące kontynuacji, które są prezentowane w czatbotze jako trzy opcje (#2).

Gdy użytkownik wybierze opcję (#3), zostanie wyświetlona następna lista opcji uściśliania (#4). Ta sekwencja będzie kontynuowana (#5), dopóki użytkownik nie określi poprawnej, ostatecznej odpowiedzi (#6).

Używanie wielowracanego bota

Po opublikowaniu bazy wiedzy możesz wybrać przycisk Utwórz bota, aby wdrożyć bota usługi QnA Maker w usłudze Azure AI Bot Service. Monity będą wyświetlane w klientach czatu, które zostały włączone dla bota.

Tworzenie konwersacji wielowracanej na podstawie struktury dokumentu

Podczas tworzenia baza wiedzy w sekcji Wypełnianie bazy wiedzy zostanie wyświetlone pole wyboru Włącz wyodrębnianie z wielu kolejek z adresów URL, .pdf lub .docx plików.

Pole wyboru umożliwiające wyodrębnianie z wieloma zwrotami

Po wybraniu tej opcji usługa QnA Maker wyodrębnia hierarchię obecną w strukturze dokumentu. Hierarchia jest konwertowana w pliku , aby postępować zgodnie z monitami, a katalog główny hierarchii służy jako nadrzędny QnA. W niektórych dokumentach katalog główny hierarchii nie ma zawartości, która może służyć jako odpowiedź. Możesz podać tekst odpowiedzi domyślnej, który ma być używany jako tekst odpowiedzi zastępczej w celu wyodrębnienia takich hierarchii.

Struktura wielowrotna może być wywnioskowana tylko z adresów URL, plików PDF lub plików DOCX. Na przykład struktury wyświetl obraz ręcznego pliku PDF użytkownika urządzenia Microsoft Surface.

Zrzut ekranu przedstawia przykład struktury w podręczniku użytkownika.

Tworzenie własnego dokumentu wielowrotnego

Jeśli tworzysz dokument wielowrotny, pamiętaj o następujących wytycznych:

  • Użyj nagłówków i nagłówków podrzędnych, aby oznaczyć hierarchię. Na przykład użyj h1, aby oznaczyć nadrzędną wartość QnA i h2, aby oznaczyć QnA, która powinna zostać podjęta jako monit. Użyj małego rozmiaru nagłówka, aby oznaczyć kolejną hierarchię. Nie używaj stylu, koloru ani innego mechanizmu, aby sugerować strukturę w dokumencie, usługa QnA Maker nie wyodrębni monitów z wieloma zwrotami.

  • Pierwszy znak nagłówka musi być wielkich liter.

  • Nie kończ nagłówka z znakiem ?zapytania.

  • Przykładowy dokument można użyć jako przykładu, aby utworzyć własny dokument wielowęzrotny.

Dodawanie plików do bazy wiedzy wielokrotnej

Po dodaniu dokumentu hierarchicznego usługa QnA Maker określa monity z struktury w celu utworzenia przepływu konwersacyjnego.

  1. W usłudze QnA Maker wybierz istniejącą baza wiedzy, która została utworzona z włączonym włączaniem wyodrębniania wielowrotnego z adresów URL, .pdf lub plików .docx.
  2. Przejdź do strony Ustawienia , wybierz plik lub adres URL, który chcesz dodać.
  3. Zapisz i wytrenuj baza wiedzy.

Przestroga

Obsługa korzystania z wyeksportowanego pliku baza wiedzy TSV lub XLS jako źródła danych dla nowego lub pustego baza wiedzy nie jest obsługiwana. Musisz zaimportować ten typ pliku na stronie Ustawienia portalu usługi QnA Maker, aby dodać wyeksportowane monity z wieloma zwrotami do baza wiedzy.

Tworzenie baza wiedzy za pomocą monitów z wieloma zwrotami za pomocą interfejsu API tworzenia

Przy użyciu interfejsu API tworzenia usługi QnA Maker można utworzyć przypadek wiedzy z monitami z wieloma zwrotami. Monity są dodawane do context tablicy prompts właściwości.

Pokaż pytania i odpowiedzi z kontekstem

Zmniejsz wyświetlane pary pytań i odpowiedzi tylko do tych par z konwersacjami kontekstowymi.

Wybierz pozycję Wyświetl opcje, a następnie wybierz pozycję Pokaż kontekst. Na liście są wyświetlane pary pytań i odpowiedzi, które zawierają monity dotyczące kontynuacji.

Filtrowanie par pytań i odpowiedzi według konwersacji kontekstowych

Kontekst wielowraca jest wyświetlany w pierwszej kolumnie.

Zrzut ekranu przedstawia wyróżnioną sekcję Kontekst.

Na powyższym obrazie #1 wskazuje pogrubiony tekst w kolumnie, co oznacza bieżące pytanie. Pytanie nadrzędne to górny element w wierszu. Poniżej znajdują się połączone pary pytań i odpowiedzi. Te elementy można wybierać, dzięki czemu można natychmiast przejść do innych elementów kontekstu.

Dodaj istniejącą parę pytań i odpowiedzi jako monit monitu

Oryginalne pytanie, Moje konto, ma monity, takie jak Konta i logowanie.

Odpowiedzi

Dodaj monit z monitem do istniejącej pary pytań i odpowiedzi, która nie jest obecnie połączona. Ponieważ pytanie nie jest połączone z żadną parą pytań i odpowiedzi, bieżące ustawienie widoku musi zostać zmienione.

  1. Aby połączyć istniejącą parę pytań i odpowiedzi jako monit z monitem, wybierz wiersz dla pary pytań i odpowiedzi. W przypadku ręcznego urządzenia Surface wyszukaj pozycję Wyloguj, aby zmniejszyć listę.

  2. W wierszu w polu Signout (Wyloguj) w kolumnie Answer (Odpowiedź ) wybierz pozycję Add follow-up prompt (Dodaj monit dotyczący kontynuacji).

  3. W polach w oknie podręcznym Monit o kontynuację wprowadź następujące wartości:

    Pole Wartość
    Tekst wyświetlany Wprowadź wartość Wyłącz urządzenie. Jest to niestandardowy tekst wyświetlany w wierszu polecenia.
    Tylko kontekst Zaznacz to pole wyboru. Odpowiedź jest zwracana tylko wtedy, gdy pytanie określa kontekst.
    Link do odpowiedzi Wprowadź pozycję Użyj ekranu logowania, aby znaleźć istniejącą parę pytań i odpowiedzi.
  4. Zwracane jest jedno dopasowanie. Wybierz tę odpowiedź jako kontynuację, a następnie wybierz pozycję Zapisz.

    Strona

  5. Po dodaniu monitu z monitem wybierz pozycję Zapisz i wytrenuj w górnej nawigacji.

Edytowanie tekstu wyświetlanego

Po utworzeniu monitu, a istniejąca para pytań i odpowiedzi zostanie wprowadzona jako link do odpowiedzi, możesz wprowadzić nowy tekst wyświetlany. Ten tekst nie zastępuje istniejącego pytania i nie dodaje nowego alternatywnego pytania. Jest ona oddzielona od tych wartości.

  1. Aby edytować tekst wyświetlany, wyszukaj i wybierz pytanie w polu Kontekst .

  2. W wierszu dla tego pytania wybierz monit monitu w kolumnie odpowiedzi.

  3. Wybierz tekst wyświetlany, który chcesz edytować, a następnie wybierz pozycję Edytuj.

    Polecenie Edytuj dla tekstu wyświetlanego

  4. W oknie podręcznym Monit o kontynuację zmień istniejący tekst wyświetlany.

  5. Po zakończeniu edytowania tekstu wyświetlanego wybierz pozycję Zapisz.

  6. Na górnym pasku nawigacyjnym zapisz i wytrenuj.

Dodaj nową parę pytań i odpowiedzi jako monit monitu

Po dodaniu nowej pary pytań i odpowiedzi do baza wiedzy każda para powinna być połączona z istniejącym pytaniem w postaci monitu.

  1. Na pasku narzędzi baza wiedzy wyszukaj i wybierz istniejącą parę pytań i odpowiedzi dla pozycji Konta i zaloguj się.

  2. W kolumnie Odpowiedź dla tego pytania wybierz pozycję Dodaj monit dotyczący kontynuacji.

  3. W obszarze Monit monitu (WERSJA ZAPOZNAWCZA) utwórz nowy monit monitu, wprowadzając następujące wartości:

    Pole Wartość
    Tekst wyświetlany Utwórz konto systemu Windows. Tekst niestandardowy do wyświetlenia w wierszu polecenia.
    Tylko kontekst Zaznacz to pole wyboru. Ta odpowiedź jest zwracana tylko wtedy, gdy pytanie określa kontekst.
    Link do odpowiedzi Wprowadź następujący tekst jako odpowiedź:
    Utwórz konto systemu Windows przy użyciu nowego lub istniejącego konta e-mail.
    Podczas zapisywania i trenowania bazy danych ten tekst zostanie przekonwertowany.

    Tworzenie nowego pytania i odpowiedzi

  4. Wybierz pozycję Utwórz nowy, a następnie wybierz pozycję Zapisz.

    Ta akcja tworzy nową parę pytań i odpowiedzi i łączy wybrane pytanie jako monit z monitem. Kolumna Context (Kontekst ) dla obu pytań wskazuje relację monitu z kontynuacją.

  5. Wybierz pozycję Wyświetl opcje, a następnie wybierz pozycję Pokaż kontekst (WERSJA ZAPOZNAWCZA).

    Nowe pytanie pokazuje, jak jest on połączony.

    Tworzenie nowego monitu z kontynuacją

    Pytanie nadrzędne wyświetla nowe pytanie jako jedno z jego wyborów.

    Zrzut ekranu przedstawiający kolumnę Context (Kontekst) dla obu pytań wskazuje relację monitu z kontynuacją.

  6. Po dodaniu monitu z monitem wybierz pozycję Zapisz i wytrenuj na górnym pasku nawigacyjnym.

Wyświetlanie wielu kolejek podczas testowania monitów

Podczas testowania pytania przy użyciu monitów z monitami w okienku Test odpowiedź zawiera monity dotyczące kolejnych kroków.

Odpowiedź zawiera monity dotyczące kontynuacji

Żądanie JSON zwracające początkową odpowiedź i monity z monitami

Użyj pustego context obiektu, aby zażądać odpowiedzi na pytanie użytkownika i dołączyć monity z monitami.

{
  "question": "accounts and signing in",
  "top": 10,
  "userId": "Default",
  "isTest": false,
  "context": {}
}

Odpowiedź JSON zwracająca początkową odpowiedź i monity dotyczące kolejnych monitów

Poprzednia sekcja zażądała odpowiedzi i wszelkich monitów z monitami dotyczącymi kont i logowania. Odpowiedź zawiera informacje o monitach, które znajdują się w lokalizacji answers[0].context, oraz tekst wyświetlany użytkownikowi.

{
    "answers": [
        {
            "questions": [
                "Accounts and signing in"
            ],
            "answer": "**Accounts and signing in**\n\nWhen you set up your Surface, an account is set up for you. You can create additional accounts later for family and friends, so each person using your Surface can set it up just the way he or she likes. For more info, see All about accounts on Surface.com. \n\nThere are several ways to sign in to your Surface Pro 4: ",
            "score": 100.0,
            "id": 15,
            "source": "product-manual.pdf",
            "metadata": [],
            "context": {
                "isContextOnly": true,
                "prompts": [
                    {
                        "displayOrder": 0,
                        "qnaId": 16,
                        "qna": null,
                        "displayText": "Use the sign-in screen"
                    }
                ]
            }
        },
        {
            "questions": [
                "Sign out"
            ],
            "answer": "**Sign out**\n\nHere's how to sign out: \n\n  Go to Start, and right-click your name. Then select Sign out. ",
            "score": 38.01,
            "id": 18,
            "source": "product-manual.pdf",
            "metadata": [],
            "context": {
                "isContextOnly": true,
                "prompts": [
                    {
                        "displayOrder": 0,
                        "qnaId": 16,
                        "qna": null,
                        "displayText": "Turn off the device"
                    }
                ]
            }
        },
        {
            "questions": [
                "Use the sign-in screen"
            ],
            "answer": "**Use the sign-in screen**\n\n1.  \n\nTurn on or wake your Surface by pressing the power button. \n\n2.  \n\nSwipe up on the screen or tap a key on the keyboard. \n\n3.  \n\nIf you see your account name and account picture, enter your password and select the right arrow or press Enter on your keyboard. \n\n4.  \n\nIf you see a different account name, select your own account from the list at the left. Then enter your password and select the right arrow or press Enter on your keyboard. ",
            "score": 27.53,
            "id": 16,
            "source": "product-manual.pdf",
            "metadata": [],
            "context": {
                "isContextOnly": true,
                "prompts": []
            }
        }
    ]
}

Tablica prompts zawiera tekst we displayText właściwości i wartości qnaId . Możesz wyświetlić te odpowiedzi jako kolejne wyświetlane opcje w przepływie konwersacji, a następnie wysłać wybrane qnaId z powrotem do usługi QnA Maker w następującym żądaniu.

Żądanie JSON zwracające odpowiedź inną niż początkowa i monity z monitami

Wypełnij obiekt, context aby uwzględnić poprzedni kontekst.

W poniższym żądaniu JSON bieżące pytanie to Użyj Windows Hello, aby się zalogować, a poprzednie pytanie dotyczyło kont i logowania.

{
  "question": "Use Windows Hello to sign in",
  "top": 10,
  "userId": "Default",
  "isTest": false,
  "qnaId": 17,
  "context": {
    "previousQnAId": 15,
    "previousUserQuery": "accounts and signing in"
  }
}

Odpowiedź JSON w celu zwrócenia odpowiedzi innej niż początkowa i monitów dotyczących kontynuacji

Odpowiedź JSON usługi QnA Maker GenerateAnswer zawiera monity dotyczące kontynuacji we context właściwości pierwszego elementu w answers obiekcie:

{
    "answers": [
        {
            "questions": [
                "Use Windows Hello to sign in"
            ],
            "answer": "**Use Windows Hello to sign in**\n\nSince Surface Pro 4 has an infrared (IR) camera, you can set up Windows Hello to sign in just by looking at the screen. \n\nIf you have the Surface Pro 4 Type Cover with Fingerprint ID (sold separately), you can set up your Surface sign you in with a touch. \n\nFor more info, see What is Windows Hello? on Windows.com. ",
            "score": 100.0,
            "id": 17,
            "source": "product-manual.pdf",
            "metadata": [],
            "context": {
                "isContextOnly": true,
                "prompts": []
            }
        },
        {
            "questions": [
                "Meet Surface Pro 4"
            ],
            "answer": "**Meet Surface Pro 4**\n\nGet acquainted with the features built in to your Surface Pro 4. \n\nHere's a quick overview of Surface Pro 4 features: \n\n\n\n\n\n\n\nPower button \n\n\n\n\n\nPress the power button to turn your Surface Pro 4 on. You can also use the power button to put it to sleep and wake it when you're ready to start working again. \n\n\n\n\n\n\n\nTouchscreen \n\n\n\n\n\nUse the 12.3" display, with its 3:2 aspect ratio and 2736 x 1824 resolution, to watch HD movies, browse the web, and use your favorite apps. \n\nThe new Surface G5 touch processor provides up to twice the touch accuracy of Surface Pro 3 and lets you use your fingers to select items, zoom in, and move things around. For more info, see Surface touchscreen on Surface.com. \n\n\n\n\n\n\n\nSurface Pen \n\n\n\n\n\nEnjoy a natural writing experience with a pen that feels like an actual pen. Use Surface Pen to launch Cortana in Windows or open OneNote and quickly jot down notes or take screenshots. \n\nSee Using Surface Pen (Surface Pro 4 version) on Surface.com for more info. \n\n\n\n\n\n\n\nKickstand \n\n\n\n\n\nFlip out the kickstand and work or play comfortably at your desk, on the couch, or while giving a hands-free presentation. \n\n\n\n\n\n\n\nWi-Fi and Bluetooth® \n\n\n\n\n\nSurface Pro 4 supports standard Wi-Fi protocols (802.11a/b/g/n/ac) and Bluetooth 4.0. Connect to a wireless network and use Bluetooth devices like mice, printers, and headsets. \n\nFor more info, see Add a Bluetooth device and Connect Surface to a wireless network on Surface.com. \n\n\n\n\n\n\n\nCameras \n\n\n\n\n\nSurface Pro 4 has two cameras for taking photos and recording video: an 8-megapixel rear-facing camera with autofocus and a 5-megapixel, high-resolution, front-facing camera. Both cameras record video in 1080p, with a 16:9 aspect ratio. Privacy lights are located on the right side of both cameras. \n\nSurface Pro 4 also has an infrared (IR) face-detection camera so you can sign in to Windows without typing a password. For more info, see Windows Hello on Surface.com. \n\nFor more camera info, see Take photos and videos with Surface and Using autofocus on Surface 3, Surface Pro 4, and Surface Book on Surface.com. \n\n\n\n\n\n\n\nMicrophones \n\n\n\n\n\nSurface Pro 4 has both a front and a back microphone. Use the front microphone for calls and recordings. Its noise-canceling feature is optimized for use with Skype and Cortana. \n\n\n\n\n\n\n\nStereo speakers \n\n\n\n\n\nStereo front speakers provide an immersive music and movie playback experience. To learn more, see Surface sound, volume, and audio accessories on Surface.com. \n\n\n\n\n",
            "score": 21.92,
            "id": 3,
            "source": "product-manual.pdf",
            "metadata": [],
            "context": {
                "isContextOnly": true,
                "prompts": [
                    {
                        "displayOrder": 0,
                        "qnaId": 4,
                        "qna": null,
                        "displayText": "Ports and connectors"
                    }
                ]
            }
        },
        {
            "questions": [
                "Use the sign-in screen"
            ],
            "answer": "**Use the sign-in screen**\n\n1.  \n\nTurn on or wake your Surface by pressing the power button. \n\n2.  \n\nSwipe up on the screen or tap a key on the keyboard. \n\n3.  \n\nIf you see your account name and account picture, enter your password and select the right arrow or press Enter on your keyboard. \n\n4.  \n\nIf you see a different account name, select your own account from the list at the left. Then enter your password and select the right arrow or press Enter on your keyboard. ",
            "score": 19.04,
            "id": 16,
            "source": "product-manual.pdf",
            "metadata": [],
            "context": {
                "isContextOnly": true,
                "prompts": []
            }
        }
    ]
}

Wykonywanie zapytań dotyczących baza wiedzy przy użyciu identyfikatora usługi QnA Maker

Jeśli tworzysz aplikację niestandardową, w odpowiedzi początkowego pytania zostaną zwrócone wszelkie monity dotyczące kontynuacji i skojarzone z qnaId nią. Teraz, gdy masz identyfikator, możesz przekazać go w treści żądania monitu. Jeśli treść żądania zawiera qnaIdobiekt , i obiekt kontekstu (który zawiera poprzednie właściwości usługi QnA Maker), funkcja GenerateAnswer zwróci dokładne pytanie według identyfikatora, zamiast użyć algorytmu klasyfikacji, aby znaleźć odpowiedź za pomocą tekstu pytania.

Kolejność wyświetlania jest obsługiwana w interfejsie API aktualizacji

Tekst wyświetlania i kolejność wyświetlania zwrócona w odpowiedzi JSON jest obsługiwana do edycji przez interfejs API aktualizacji.

Dodawanie lub usuwanie monitów z wieloma zwrotami za pomocą interfejsu API aktualizacji

Możesz dodawać lub usuwać monity z wieloma zwrotami przy użyciu interfejsu API aktualizacji usługi QnA Maker. Monity są dodawane do context tablicy promptsToAdd właściwości i tablicy promptsToDelete .

Eksportowanie baza wiedzy do kontroli wersji

Usługa QnA Maker obsługuje kontrolę wersji, włączając wielowrotne kroki konwersacji w wyeksportowanym pliku.

Następne kroki