Udostępnij za pośrednictwem


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

Użyj monitów i kontekstu monitów, aby zarządzać wieloma zakrętami, znanymi jako multi-turn, dla bota z jednego pytania do drugiego.

Aby zobaczyć, jak działa multi-turn, zobacz następujący pokaz wideo:

Konwersacja z wieloma zakrętami w usłudze QnA Maker

Uwaga

Usługa QnA Maker jest wycofywana 31 marca 2025 r. Nowsza wersja funkcji pytań i odpowiedzi jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure. Aby uzyskać 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 baza wiedzy usługi QnA Maker do odpowiadania na pytania, zapoznaj się z przewodnikiem migracji.

Co to jest konwersacja wieloełowa?

Nie można odpowiedzieć na niektóre pytania w jednym kroku. 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. Aby ten przepływ był możliwy przez pytania, przedstawisz użytkownikowi monity z monitami.

Gdy użytkownik zadaje pytanie, usługa QnA Maker zwraca odpowiedź i wszelkie monity z monitami. Ta odpowiedź umożliwia przedstawienie kolejnych pytań jako opcji.

Uwaga

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 konwersacja wielowraca z czatbotem

W przypadku wielu kolei 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 poprzedniej ilustracji użytkownik rozpoczął konwersację, wprowadzając 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 z monitami, 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).

Korzystanie z wielu kolei w botze

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 czatów, które zostały włączone dla bota.

Tworzenie konwersacji wieloełowej na podstawie struktury dokumentu

Podczas tworzenia baza wiedzy w sekcji Wypełnianie bazy wiedzy jest wyświetlane pole wyboru Włącz wyodrębnianie wieloeściowe z adresów URL, .pdf lub .docx plików.

Pole wyboru umożliwiające wyodrębnianie wielu obrotu

Po wybraniu tej opcji usługa QnA Maker wyodrębnia hierarchię obecną w strukturze dokumentu. Hierarchia jest konwertowana na monity, 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 będzie używany jako tekst odpowiedzi zastępczej w celu wyodrębnienia takich hierarchii.

Struktura z wieloma zwrotami może być wywnioskowana tylko z adresów URL, plików PDF lub plików DOCX. Przykład struktury umożliwia wyświetlenie obrazu ręcznego pliku PDF urządzenia Microsoft Surface.

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

Tworzenie własnego dokumentu wieloetkowego

Jeśli tworzysz dokument wieloełowy, 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 wartości h1, aby oznaczyć nadrzędną usługę QnA i h2, aby oznaczyć QnA, która powinna być traktowana 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 należy kończyć nagłówka znakiem ?zapytania .

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

Dodawanie plików do bazy wiedzy z wieloma zakrętami

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

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

Uwaga

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 obejmujących wiele obrotu 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 monitujące.

Filtrowanie par pytań i odpowiedzi według konwersacji kontekstowych

Kontekst wielokrotny 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 z monitami, takimi 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. Aby uzyskać instrukcję ręczną urządzenia Surface, wyszukaj pozycję Wyloguj, aby zmniejszyć listę.

  2. W wierszu dla pozycji Signout (Wyloguj) w kolumnie Answer (Odpowiedź ) wybierz pozycję Add follow-up prompt (Dodaj monit z monitem o kontynuację).

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

    Pole Wartość
    Tekst wyświetlany Wprowadź wartość Wyłącz urządzenie. Jest to tekst niestandardowy do wyświetlenia w wierszu polecenia.
    Tylko kontekst Zaznacz to pole wyboru. Odpowiedź jest zwracana tylko wtedy, gdy pytanie określa kontekst.
    Link do odpowiedzi Wprowadź tekst 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 trenuj w górnym obszarze nawigacyjnym.

Edytowanie tekstu wyświetlanego

Po utworzeniu monitu z monitem, 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 odpowiedź.

  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 Monitu monitu 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 z monitem

Po dodaniu nowej pary pytań i odpowiedzi do baza wiedzy każda para powinna być połączona z istniejącym pytaniem jako monit 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 monitu dotyczącego monitu.

  3. W obszarze Monitu 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 nową, 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 monitem.

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

    Nowe pytanie pokazuje, w jaki sposób jest połączony.

    Tworzenie nowego monitu z monitem

    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 monitem.

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

Wyświetlanie wielu kolei podczas testowania monitów monitów

Po przetestowaniu pytania za pomocą monitów z monitami w okienku Test odpowiedź zawiera monity z monitami.

Odpowiedź zawiera monity z monitami

Żą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, aby zwrócić początkową odpowiedź i monity z monitami

W poprzedniej sekcji zażądano odpowiedzi i wszelkich monitów z monitami dotyczącymi kont i logowania. Odpowiedź zawiera informacje o monitach, które znajdują się w answers[0].contextlokalizacji , oraz tekst do wyświetlenia 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 qnaId wartości. Możesz wyświetlić te odpowiedzi jako kolejne wyświetlane opcje w przepływie konwersacji, a następnie wysłać wybrane z qnaId powrotem do usługi QnA Maker w następującym żądaniu.

Żądanie JSON zwracające nieicjacyjną odpowiedź i monity dotyczące monitów

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

W poniższym żądaniu JSON bieżące pytanie brzmi Logowanie przy użyciu funkcji Windows Hello , 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, aby zwrócić nieicjacyjną odpowiedź i monity z monitami

Odpowiedź JSON usługi QnA Maker GenerateAnswer zawiera monity monitów context w 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 początkowej odpowiedzi pytania zostaną zwrócone wszelkie monity z monitami 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żywać algorytmu klasyfikacji w celu znalezienia odpowiedzi przy użyciu tekstu pytania.

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

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

Dodawanie lub usuwanie monitów o wiele kolei 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 kontroli wersji

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

Następne kroki