Testowanie i debugowanie za pomocą emulatora

DOTYCZY: ZESTAW SDK w wersji 4

Bot Framework Emulator to aplikacja klasyczna, która umożliwia deweloperom botów testowanie i debugowanie botów lokalnie lub zdalnie. Za pomocą emulatora możesz porozmawiać z botem i sprawdzić komunikaty wysyłane i odbierane przez bota. Emulator wyświetla komunikaty wyświetlane w interfejsie użytkownika czatu internetowego i rejestruje żądania i odpowiedzi JSON podczas wymiany komunikatów z botem. Przed wdrożeniem bota w chmurze uruchom go lokalnie i przetestuj go przy użyciu emulatora. Możesz przetestować bota przy użyciu emulatora, nawet jeśli jeszcze go nie utworzono za pomocą usługi Azure AI Bot Service lub skonfigurowano go do uruchamiania w dowolnych kanałach.

Uwaga

Zestawy SDK języka JavaScript, C# i Python platformy Bot Framework będą nadal obsługiwane, jednak zestaw SDK języka Java jest wycofywany z ostatecznym długoterminowym wsparciem kończącym się w listopadzie 2023 r.

Istniejące boty utworzone za pomocą zestawu JAVA SDK będą nadal działać.

W przypadku tworzenia nowego bota rozważ użycie agentów usługi Power Virtual Agents i przeczytaj o wyborze odpowiedniego rozwiązania czatbota.

Aby uzyskać więcej informacji, zobacz Przyszłość tworzenia botów.

Wymagania wstępne

Lokalne uruchamianie bota

Przed nawiązaniem połączenia bota z botem Framework Emulator należy uruchomić bota lokalnie. Możesz użyć programu Visual Studio lub Visual Studio Code do uruchomienia bota lub użyć wiersza polecenia. Aby uruchomić bota przy użyciu wiersza polecenia, wykonaj następujące czynności:

  • Przejdź do wiersza polecenia i zmień katalog na katalog projektu bota.

  • Uruchom bota, uruchamiając następujące polecenie:

    dotnet run
    
  • Skopiuj numer portu w wierszu przed uruchomieniem aplikacji. Naciśnij klawisze CTRL+C, aby zamknąć.

    Numer portu języka C#

W tym momencie bot powinien działać lokalnie.

Połączenie do bota uruchomionego na hoście lokalnym

Konfigurowanie ustawień serwera proxy

Podczas tworzenia za firmowym serwerem proxy emulator będzie używać skonfigurowanych zmiennych HTTP_PROXY środowiskowych i HTTPS_PROXY, które określają odpowiednio trasę adresu URL serwera proxy dla żądań HTTP i HTTPs.

Jeśli łączysz się z botem uruchomionym w systemie localhost, emulator najpierw spróbuje kierować się przez serwer proxy przed nawiązaniem połączenia z usługą localhost. Zazwyczaj serwer proxy zablokuje połączenie, chyba że określisz, że ma zostać pominięty dla elementu localhost.

Aby obejść HTTP_PROXY ustawienia i HTTPS_PROXY i zezwolić emulatorowi na nawiązywanie połączenia z localhostusługą , na komputerze lokalnym należy zdefiniować następującą zmienną środowiskową:

NO_PROXY=localhost

Konfigurowanie emulatora na potrzeby uwierzytelniania

Jeśli bot wymaga uwierzytelniania, wyświetlenie okna dialogowego logowania, należy skonfigurować emulator, jak pokazano poniżej.

Korzystanie z kodu weryfikacyjnego logowania

  1. Uruchom emulator.
  2. W emulatorze wybierz pozycję Ustawienia (ikona koła zębatego) w okienku po lewej stronie.
  3. Włącz obejście ngrok dla adresów lokalnych.
  4. Włącz używanie kodu weryfikacyjnego logowania dla kart OAuthCard.
  5. Wybierz pozycję Zapisz.

Po wybraniu przycisku logowania wyświetlanego przez bota zostanie wygenerowany kod weryfikacyjny. Wprowadź kod w polu czatu wejściowego bota, aby przeprowadzić uwierzytelnianie. Następnie można wykonać dozwolone operacje.

Alternatywnie możesz wykonać kroki opisane poniżej.

Korzystanie z tokenów uwierzytelniania

  1. Uruchom emulator.
  2. W emulatorze wybierz pozycję Ustawienia (ikona koła zębatego) w okienku po lewej stronie.
  3. Wprowadź ścieżkę lokalną do narzędzia ngrok. Aby uzyskać więcej informacji na temat narzędzia ngrok, zobacz ngrok.
  4. Włącz polecenie Uruchom ngrok po uruchomieniu emulatora.
  5. Włącz opcję Użyj tokenów uwierzytelniania w wersji 1.0.
  6. Wybierz pozycję Zapisz.

Po wybraniu przycisku logowania wyświetlanego przez bota zostanie wyświetlony monit o wprowadzenie poświadczeń. Generowany jest token uwierzytelniania. Następnie można wykonać dozwolone operacje.

Okno uruchamiania emulatora

Aby nawiązać połączenie z botem uruchomionym lokalnie, wybierz pozycję Otwórz bota. Dodaj numer portu skopiowany wcześniej do następującego adresu URL i wklej zaktualizowany adres URL na pasku adresu URL bota:

http://localhost:<port number>/api/messages

Okno dialogowe otwieranie bota emulatora

Jeśli bot jest uruchomiony z poświadczeniami konta Microsoft (MSA), wprowadź również te poświadczenia.

Używanie poświadczeń bota

Po otwarciu bota ustaw identyfikator aplikacji firmy Microsoft i hasło aplikacji firmy Microsoft, jeśli bot jest uruchomiony przy użyciu poświadczeń. Jeśli bot został utworzony za pomocą usługi Azure AI Bot Service, poświadczenia są dostępne w usłudze App Service bota w sekcji Ustawienia —> Konfiguracja. Jeśli nie znasz wartości, możesz je usunąć z lokalnego pliku konfiguracji bota, a następnie uruchomić bota w emulatorze. Jeśli bot nie jest uruchomiony z tymi ustawieniami, nie musisz uruchamiać emulatora z ustawieniami.

Podczas tworzenia aplikacji dostawcy tożsamości usługi AD należy pamiętać o następujących kwestiach:

  • Jeśli obsługiwany typ konta jest ustawiony na jedną dzierżawę, jeśli używasz subskrypcji osobistej zamiast konta Microsoft, emulator wystawi błąd: identyfikator aplikacji microsoft bota lub hasło aplikacji firmy Microsoft jest niepoprawne.
  • W takim przypadku obsługiwane typy kont muszą być ustawione na Konta w dowolnym katalogu organizacyjnym (dowolny katalog Microsoft Entra ID — Multitenant) i osobiste konta Microsoft (np. Xbox).

Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji dostawcy tożsamości entra firmy Microsoft i Rejestrowanie nowej aplikacji przy użyciu witryny Azure Portal.

Wyświetlanie szczegółowych działań komunikatów za pomocą inspektora

Wyślij wiadomość do bota. Bot powinien odpowiedzieć. Możesz wybrać dymek wiadomości w oknie konwersacji i sprawdzić pierwotne działanie JSON przy użyciu funkcji INSPEKTOR po prawej stronie okna. Wybrany dymek wiadomości zmieni kolor na żółty, a obiekt JSON działania zostanie wyświetlony po lewej stronie okna czatu. Informacje JSON obejmują metadane klucza, w tym identyfikator kanału, typ działania, identyfikator konwersacji, wiadomość tekstową, adres URL punktu końcowego itd. Możesz sprawdzić działania wysyłane przez użytkownika i działania, za pomocą których reaguje bot.

Kod JSON działania komunikatu emulatora

Napiwek

Zmiany stanu można debugować w botze połączonym z kanałem, dodając oprogramowanie pośredniczące inspekcji do bota.

Inspekcja usług

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.

Uwaga

Usługa Language Understanding (LUIS) zostanie wycofana 1 października 2025 r. Od 1 kwietnia 2023 r. nie będzie można tworzyć nowych zasobów usługi LUIS. Nowsza wersja interpretacji języka jest teraz dostępna w ramach języka sztucznej inteligencji platformy Azure.

Język konwersacyjny (CLU), funkcja języka AI platformy Azure, to zaktualizowana wersja usługi LUIS. Aby uzyskać więcej informacji na temat obsługi języka w zestawie SDK platformy Bot Framework, zobacz Opis języka naturalnego.

Za pomocą emulatora można również sprawdzić odpowiedzi JSON z usług LUIS i QnA Maker. Korzystając z bota z połączoną usługą językową, możesz wybrać opcję śledzenia w oknie DZIENNIK w prawym dolnym rogu. To nowe narzędzie udostępnia również funkcje umożliwiające aktualizowanie usług językowych bezpośrednio z emulatora.

Inspektor usługi LUIS

W przypadku połączonej usługi LUIS link śledzenia określa ślad usługi Luis. Po wybraniu zostanie wyświetlona nieprzetworzona odpowiedź z usługi LUIS, która zawiera intencje i jednostki wraz z określonymi wynikami. Możesz ponownie przypisać intencje dla wypowiedzi użytkownika.

Inspektor pytań i pytań

W przypadku połączonej usługi QnA Maker dziennik wyświetli ślad usługi QnA. Po wybraniu możesz wyświetlić podgląd pary pytań i odpowiedzi skojarzonych z tym działaniem wraz z oceną ufności. W tym miejscu możesz dodać alternatywny sposób wyrażenia zapytania dla odpowiedzi.

Logowanie się do platformy Azure

Możesz użyć emulatora, aby zalogować się do konta platformy Azure. Jest to przydatne w przypadku dodawania usług, od których zależy bot i zarządzanie nimi. Aby się zalogować:

  1. Wybierz pozycję Plik, a następnie zaloguj się przy użyciu platformy Azure.

    Logowanie emulatora przy użyciu platformy Azure

  2. Na ekranie powitalnym wybierz pozycję Zaloguj się przy użyciu konta platformy Azure. Opcjonalnie możesz mieć możliwość zalogowania się emulatora w przypadku ponownego uruchamiania aplikacji emulatora.

    Powodzenie logowania do platformy Azure w emulatorze

Wyłączanie zbierania danych

Jeśli zdecydujesz, że nie chcesz już zezwalać emulatorowi na zbieranie danych użycia, możesz łatwo wyłączyć zbieranie danych, wykonując następujące kroki:

  1. W emulatorze wybierz pozycję Ustawienia (ikona koła zębatego) w okienku po lewej stronie.

    Przycisk Ustawień emulatora

  2. W obszarze Zbieranie danych usuń zaznaczenie pozycji Pomoc w ulepszaniu emulatora, umożliwiając zbieranie danych użycia.

  3. Wybierz pozycję Zapisz.

Jeśli zmienisz zdanie, możesz później ponownie zbierać dane.

Dodatkowe zasoby

Bot Framework Emulator jest oprogramowaniem open source. Możesz przyczynić się do opracowywania i przesyłania usterek i sugestii.

Aby uzyskać informacje na temat rozwiązywania problemów, zobacz Rozwiązywanie ogólnych problemów i inne artykuły dotyczące rozwiązywania problemów w tej sekcji.

Następny krok

Użyj oprogramowania pośredniczącego inspekcji, aby debugować bota połączonego z kanałem.