Planowanie aplikacji QnA Maker

Aby zaplanować aplikację usługi QnA Maker, musisz zrozumieć, jak działa usługa QnA Maker i współdziała z innymi usługami platformy Azure. Należy również dobrze zrozumieć pojęcia baza wiedzy.

Uwaga

Usługa QnA Maker jest wycofana 31 marca 2025 r. Nowsza wersja możliwości pytań i odpowiedzi jest teraz dostępna w ramach usługi Azure Cognitive Service for Language. 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.

Zasoby platformy Azure

Każdy zasób platformy Azure utworzony za pomocą usługi QnA Maker ma określony cel. Każdy zasób ma własny cel, limity i warstwę cenową. Ważne jest, aby zrozumieć funkcję tych zasobów, aby móc wykorzystać tę wiedzę do procesu planowania.

Zasób Przeznaczenie
Zasób usługi QnA Maker Tworzenie i przewidywanie zapytań
Zasób wyszukiwania poznawczego Magazyn danych i wyszukiwanie
zasób App Service i zasób usługi App Plan Service Punkt końcowy przewidywania zapytania
Zasób usługi Application Insights Telemetria przewidywania zapytań

Planowanie zasobów

Warstwa Bezpłatna , F0z każdego zasobu działa i może zapewnić zarówno środowisko tworzenia, jak i przewidywania zapytań. Tej warstwy można użyć do nauki tworzenia i przewidywania zapytań. Po przejściu do scenariusza produkcyjnego lub na żywo należy ponownie sprawdzić wybór zasobu.

Rozmiar i przepływność bazy wiedzy

Podczas tworzenia rzeczywistej aplikacji zaplanuj wystarczające zasoby dla rozmiaru baza wiedzy i oczekiwanych żądań przewidywania zapytań.

Rozmiar baza wiedzy jest kontrolowany przez:

Żądanie przewidywania zapytań baza wiedzy jest kontrolowane przez plan aplikacji internetowej i aplikację internetową. Zapoznaj się z zalecanymi ustawieniami , aby zaplanować warstwę cenową.

Udostępnianie zasobów

Jeśli masz już niektóre z tych zasobów, możesz rozważyć udostępnianie zasobów. Zobacz, które zasoby mogą być udostępniane, aby zrozumieć , że udostępnianie zasobów jest zaawansowanym scenariuszem.

Wszystkie bazy wiedzy utworzone w tym samym zasobie usługi QnA Maker współdzielą ten sam punkt końcowy przewidywania zapytań testowych .

Omówienie wpływu wyboru zasobów

Właściwy wybór zasobów oznacza, że baza wiedzy odpowiada na przewidywania zapytań pomyślnie.

Jeśli baza wiedzy nie działa prawidłowo, zazwyczaj jest to problem z niewłaściwym zarządzaniem zasobami.

Niewłaściwy wybór zasobów wymaga badania, aby określić, który zasób musi ulec zmianie.

Bazy wiedzy

Baza wiedzy jest bezpośrednio powiązany z zasobem usługi QnA Maker. Zawiera ona pary pytań i odpowiedzi (QnA), które są używane do odpowiadania na żądania przewidywania zapytań.

Zagadnienia dotyczące języka

Pierwszy baza wiedzy utworzony na zasobie usługi QnA Maker ustawia język zasobu. Dla zasobu usługi QnA Maker można mieć tylko jeden język.

Zasoby usługi QnA Maker można strukturę według języka lub użyć usługi Translator, aby zmienić zapytanie z innego języka na język baza wiedzy przed wysłaniem zapytania do punktu końcowego przewidywania zapytań.

Pozyskiwanie źródeł danych

Aby utworzyć baza wiedzy, można użyć jednego z następujących pozyskanych źródeł danych:

  • Publiczny adres URL
  • Prywatny adres URL programu SharePoint
  • Plik

Proces pozyskiwania konwertuje obsługiwane typy zawartości na markdown. Wszystkie dalsze edycje odpowiedzi są wykonywane przy użyciu języka markdown. Po utworzeniu baza wiedzy można edytować pary pytań i odpowiedzi w portalu usługi QnA Maker za pomocą tworzenia tekstu sformatowanego.

Zagadnienia dotyczące formatu danych

Ponieważ ostateczny format pary QnA jest markdown, ważne jest zrozumienie obsługi języka Markdown.

Połączone obrazy muszą być dostępne z publicznego adresu URL, aby być wyświetlane w okienku testowym portalu usługi QnA Maker lub w aplikacji klienckiej. Usługa QnA Maker nie zapewnia uwierzytelniania zawartości, w tym obrazów.

Osobowość bota

Dodaj osobowość bota do baza wiedzy za pomocą czatu. Ta osobowość przychodzi z odpowiedziami podanymi w pewnym tonu konwersacyjnym, takim jak profesjonalny i przyjazny. Ten czat jest dostarczany jako zestaw konwersacyjny, który ma całkowitą kontrolę nad dodawaniem, edytowaniem i usuwaniem.

Osobowość bota jest zalecana, jeśli bot łączy się z baza wiedzy. Możesz użyć czatu chit-chat w baza wiedzy nawet jeśli łączysz się również z innymi usługami, ale należy sprawdzić, jak usługa bota współdziała, aby wiedzieć, czy jest to prawidłowy projekt architektury do użycia.

Przepływ konwersacji z baza wiedzy

Przepływ konwersacji zwykle rozpoczyna się od pozdrowienia od użytkownika, takiego jak Hi lub Hello. Twój baza wiedzy może odpowiedzieć na ogólną odpowiedź, taką jak Hi, how can I help you, i może również podać wybór monitów o kontynuowanie konwersacji.

Należy zaprojektować przepływ konwersacyjny z myślą o pętli, aby użytkownik wiedział, jak używać bota i nie jest porzucony przez bota w konwersacji. Monity dotyczące kontynuacji zapewniają łączenie między parami pytań i odpowiedzi, które umożliwiają przepływ konwersacyjny.

Tworzenie ze współpracownikami

Współpracownicy mogą być innymi deweloperami, którzy udostępniają pełny stos deweloperów aplikacji baza wiedzy lub mogą być ograniczeni tylko do tworzenia baza wiedzy.

Tworzenie bazy wiedzy obsługuje kilka uprawnień dostępu opartych na rolach stosowanych w Azure Portal w celu ograniczenia zakresu możliwości współpracownika.

Integracja z aplikacjami klienckimi

Integracja z aplikacjami klienckimi jest realizowana przez wysłanie zapytania do punktu końcowego środowiska uruchomieniowego przewidywania. Zapytanie jest wysyłane do określonego baza wiedzy za pomocą zestawu SDK lub żądania opartego na protokole REST do punktu końcowego aplikacji internetowej usługi QnA Maker.

Aby poprawnie uwierzytelnić żądanie klienta, aplikacja kliencka musi wysłać poprawne poświadczenia i identyfikator baza wiedzy. Jeśli używasz usługi Azure Bot Service, skonfiguruj te ustawienia jako część konfiguracji bota w Azure Portal.

Przepływ konwersacji w aplikacji klienckiej

Przepływ konwersacji w aplikacji klienckiej, takiej jak bot platformy Azure, może wymagać funkcjonalności przed i po interakcji z baza wiedzy.

Czy aplikacja kliencka obsługuje przepływ konwersacji, udostępniając alternatywne sposoby obsługi monitów lub w tym chit-chit? Jeśli tak, zaprojektuj je wcześnie i upewnij się, że zapytanie aplikacji klienckiej jest poprawnie obsługiwane przez inną usługę lub po wysłaniu do baza wiedzy.

Wysyłanie między usługą QnA Maker i Language Understanding (LUIS)

Aplikacja kliencka może zapewnić kilka funkcji, na które odpowiada baza wiedzy. Inne funkcje nadal muszą zrozumieć tekst konwersacyjny i wyodrębnić z niego znaczenie.

Typową architekturą aplikacji klienckiej jest użycie zarówno usługi QnA Maker, jak i Language Understanding (LUIS) razem. Usługa LUIS udostępnia klasyfikację i wyodrębnianie tekstu dla dowolnego zapytania, w tym do innych usług. Usługa QnA Maker zawiera odpowiedzi od baza wiedzy.

W takim scenariuszu architektury udostępnionej wysyłanie między dwoma usługami odbywa się za pomocą narzędzia Dispatch z platformy Bot Framework.

Aktywne uczenie się z poziomu aplikacji klienckiej

Usługa QnA Maker używa aktywnego uczenia się, aby poprawić baza wiedzy, sugerując alternatywne pytania do odpowiedzi. Aplikacja kliencka jest odpowiedzialna za część tej aktywnej nauki. Za pomocą monitów konwersacyjnych aplikacja kliencka może określić, że baza wiedzy zwrócił odpowiedź, która nie jest przydatna dla użytkownika, i może określić lepszą odpowiedź. Aplikacja kliencka musi wysłać te informacje z powrotem do baza wiedzy, aby poprawić jakość przewidywania.

Podawanie odpowiedzi domyślnej

Jeśli baza wiedzy nie znajdzie odpowiedzi, zwraca domyślną odpowiedź. Ta odpowiedź można skonfigurować na stronie Ustawienia w portalu usługi QnA Maker lub w interfejsach API.

Ta domyślna odpowiedź różni się od domyślnej odpowiedzi bota platformy Azure. Domyślną odpowiedź dla bota platformy Azure można skonfigurować w Azure Portal w ramach ustawień konfiguracji. Jest zwracany, gdy próg wyniku nie zostanie osiągnięty.

Przewidywanie

Przewidywanie jest odpowiedzią z baza wiedzy i zawiera więcej informacji niż tylko odpowiedź. Aby uzyskać odpowiedź na przewidywanie zapytań, użyj interfejsu API GenerateAnswer.

Wahania wyników przewidywania

Wynik może ulec zmianie na podstawie kilku czynników:

  • Liczba odpowiedzi żądanych w odpowiedzi na wartość GenerateAnswer z właściwością top
  • Różne dostępne pytania alternatywne
  • Filtrowanie metadanych
  • Zapytanie wysłane do test lub production baza wiedzy

Istnieje klasyfikacja odpowiedzi dwufazowych:

  • Wyszukiwanie poznawcze — pierwsza ranga. Ustaw liczbę odpowiedzi dozwolonych wystarczająco wysoko, że najlepsze odpowiedzi są zwracane przez usługę Cognitive Search, a następnie przekazane do rangi usługi QnA Maker.
  • QnA Maker — druga ranga. Zastosuj cechowanie i uczenie maszynowe, aby określić najlepszą odpowiedź.

Aktualizacje usług

Zastosuj najnowsze aktualizacje środowiska uruchomieniowego , aby automatycznie zarządzać aktualizacjami usługi.

Skalowanie, przepływność i odporność

Skalowanie, przepływność i odporność są określane przez zasoby platformy Azure, ich warstwy cenowe i dowolną architekturę otoczenia, taką jak usługa Traffic Manager.

Analiza za pomocą usługi Application Insights

Wszystkie zapytania do baza wiedzy są przechowywane w usłudze Application Insights. Skorzystaj z naszych najważniejszych zapytań , aby zrozumieć metryki.

Cykl projektowania oprogramowania

Cykl życia programowania baza wiedzy trwa: edytowanie, testowanie i publikowanie baza wiedzy.

Opracowywanie par usługi QnA Maker w bazie wiedzy

Pary pytań i odpowiedzi powinny być zaprojektowane i opracowane na podstawie użycia aplikacji klienckiej.

Każda para może zawierać:

  • Metadane — filtrowanie podczas wykonywania zapytań w celu umożliwienia tagowania par pytań i odpowiedzi z dodatkowymi informacjami na temat źródła, zawartości, formatu i przeznaczenia danych.
  • Kolejne monity — pomaga określić ścieżkę za pośrednictwem baza wiedzy, aby użytkownik dotarł do poprawnej odpowiedzi.
  • Pytania alternatywne — ważne, aby umożliwić wyszukiwanie zgodne z odpowiedzią z różnych form pytania. Sugestie dotyczące uczenia aktywnego przekształcają się w alternatywne pytania.

Programowanie metodyki DevOps

Opracowanie baza wiedzy do wstawienia do potoku DevOps wymaga, aby baza wiedzy był izolowany podczas testowania wsadowego.

Baza wiedzy udostępnia indeks usługi Cognitive Search ze wszystkimi innymi bazami wiedzy w zasobie usługi QnA Maker. Chociaż baza wiedzy jest izolowana przez partycję, udostępnianie indeksu może spowodować różnicę w wyniku w porównaniu z opublikowanymi baza wiedzy.

Aby uzyskać ten sam wynik w test bazach wiedzy iproduction, izoluj zasób usługi QnA Maker do pojedynczego baza wiedzy. W tej architekturze zasób musi żyć tylko tak długo, jak izolowany test wsadowy.

Następne kroki