Planen Ihrer QnA Maker-App

Zum Planen Ihrer QnA Maker-App müssen Sie verstehen, wie QnA Maker funktioniert und mit anderen Azure-Diensten interagiert. Sie sollten auch ein fundiertes Verständnis von Konzepten der Wissensdatenbank haben.

Hinweis

Der QnA Maker-Dienst wird am 31. März 2025 außer Betrieb gesetzt. Eine neuere Version der Frage- und Antwortfunktion ist jetzt als Teil des Azure Cognitive Service für Language verfügbar. Antworten auf Fragen innerhalb des Sprachdiensts finden Sie unter Fragen und Antworten. Ab dem 1. Oktober 2022 können Sie keine neuen QnA Maker-Ressourcen mehr erstellen. Informationen zum Migrieren vorhandener QnA Maker-Wissensdatenbanken für Fragen und Antworten finden Sie im Migrationsleitfaden.

Azure-Ressourcen

Jede Azure-Ressource, die mit QnA Maker erstellt wird, hat einen bestimmten Zweck. Jede Ressource hat ihren eigenen Zweck, ihre eigenen Grenzwerte und ihren eigenen Tarif. Es ist wichtig, die Funktion dieser Ressourcen zu verstehen, sodass Sie dieses Wissen in Ihren Planungsprozess integrieren können.

Resource Zweck
QnA Maker-Ressource Erstellung und Abfragevorhersage
Cognitive Search-Ressource Datenspeicherung und -suche
App Service-Ressource und App Plan Service-Ressource Abfragevorhersage-Endpunkt
Application Insights-Ressource Abfragevorhersagetelemetrie

Ressourcenplanung

Der Free-Tarif, F0, der einzelnen Ressourcen funktioniert und kann sowohl die Benutzeroberfläche für die Erstellung als auch die Abfragevorhersage bereitstellen. Sie können diesen Tarif verwenden, um die Erstellung und Abfragevorhersage zu erlernen. Wenn Sie zu einem Produktions- oder Liveszenario wechseln, sollten Sie Ihre Ressourcenauswahl neu auswerten.

Größe und Durchsatz der Wissensdatenbank

Wenn Sie eine echte App erstellen, planen Sie ausreichend Ressourcen für die Größe Ihrer Wissensdatenbank und die erwarteten Anforderungen an die Abfragevorhersage ein.

Die Größe einer Wissensdatenbank wird gesteuert durch:

Die Abfragevorhersageanforderung der Wissensdatenbank wird durch den Web-App-Plan und die Web-App gesteuert. Informationen zum Planen Ihres Tarifs finden Sie unter Empfohlene Einstellungen.

Gemeinsame Nutzung von Ressourcen

Wenn Sie bereits einige dieser Ressourcen verwenden, können Sie die Freigabe von Ressourcen in Erwägung ziehen. Schauen Sie, welche Ressourcen gemeinsam genutzt werden können, wobei hierbei das Verständnis zugrunde liegt, dass die gemeinsame Nutzung von Ressourcen ein fortgeschrittenes Szenario ist.

Alle Wissensdatenbanken, die in derselben QnA Maker-Ressource erstellt wurden, verwenden denselben Test-Abfragevorhersage-Endpunkt.

Grundlegendes zu den Auswirkungen der Ressourcenauswahl

Die richtige Ressourcenauswahl bedeutet, dass Ihre Wissensdatenbank die Abfragevorhersagen erfolgreich beantwortet.

Wenn Ihre Wissensdatenbank nicht ordnungsgemäß funktioniert, liegt das Problem in der Regel an einer nicht ordnungsgemäßen Ressourcenverwaltung.

Bei nicht ordnungsgemäßer Ressourcenauswahl müssen Sie untersuchen, welche Ressource geändert werden muss.

Wissensdatenbanken

Eine Wissensdatenbank ist direkt an die QnA Maker-Ressource gebunden. Sie enthält die Frage-Antwort-Paare (QnA), die zum Beantworten von Abfragevorhersageanforderungen verwendet werden.

Sprachbezogene Überlegungen

Die erste in Ihrer QnA Maker-Ressource erstellte Wissensdatenbank legt die Sprache für die Ressource fest. Sie können nur eine Sprache für eine QnA Maker-Ressource festlegen.

Sie können Ihre QnA Maker-Ressourcen nach Sprache strukturieren oder Translator verwenden, um eine Abfrage von einer anderen Sprache in die Sprache der Wissensdatenbank zu übersetzen, bevor Sie die Abfrage an den Abfragevorhersage-Endpunkt senden.

Erfassen von Datenquellen

Sie können eine der folgenden erfassten Datenquellen verwenden, um eine Wissensdatenbank zu erstellen:

  • Öffentliche URL
  • Private SharePoint-URL
  • Datei

Beim Erfassungsprozess werden unterstützte Inhaltstypen in Markdown konvertiert. Die weitere Bearbeitung der Antwort erfolgt mit Markdown. Nachdem Sie eine Wissensdatenbank erstellt haben, können Sie QnA-Paare im QnA Maker-Portal mit Rich Text Authoring bearbeiten.

Überlegungen zum Datenformat

Da das endgültige Format eines QnA-Paars Markdown ist, müssen Sie die Markdown-Unterstützung kennen.

Verknüpfte Bilder müssen über eine öffentliche URL verfügbar sein, damit sie im Testfenster des QnA Maker-Portals oder in einer Clientanwendung angezeigt werden können. QnA Maker bietet keine Authentifizierung für Inhalte, einschließlich Bilder.

Botpersönlichkeit

Fügen Sie Ihrer Wissensdatenbank mit Geplauder eine Botpersönlichkeit hinzu. Diese Persönlichkeit bietet vorgefertigte Antworten, die in einem bestimmten Konversationston bereitgestellt werden, z. B. geschäftlich und freundlich. Dieses Geplauder wird als Konversationsgruppe bereitgestellt, die Sie die mit Hinzufügen, Bearbeiten und Entfernen vollständig kontrollieren können.

Eine Botpersönlichkeit sollten Sie verwenden, wenn Ihr Bot mit Ihrer Wissensdatenbank verbunden ist. Sie können sich dafür entscheiden, Smalltalk in Ihrer Wissensdatenbank zu verwenden, auch wenn Sie gleichzeitig eine Verbindung mit anderen Diensten herstellen, aber Sie sollten überprüfen, wie der Botdienst interagiert, um zu wissen, ob dies der richtige Architekturentwurf für Ihre Nutzung ist.

Konversationsfluss mit einer Wissensdatenbank

Der Konversationsfluss beginnt in der Regel mit einer Begrüßung eines Benutzers, z. B. Hi oder Hello. Ihre Wissensdatenbank kann mit einer allgemeinen Antwort (z. B. Hi, how can I help you) antworten, und Sie kann auch eine Auswahl von Folgeaufforderungen zum Fortsetzen der Konversation bereitstellen.

Sie sollten beim Entwurf Ihres Konversationsflusses an eine Schleife denken, damit ein Benutzer weiß, wie er Ihren Bot verwenden kann, und nicht vom Bot in der Konversation stehen gelassen wird. Folgeaufforderungen bieten die Verknüpfung zwischen QnA-Paaren, die den Konversationsfluss ermöglichen.

Erstellung mit Projektmitarbeitern

Projektmitarbeiter sind möglicherweise andere Entwickler, für die der vollständige Entwicklungsstapel der Wissensdatenbankanwendung freigeben ist, oder die nur auf die Erstellung der Wissensdatenbank beschränkt sind.

Die Erstellung der Wissensdatenbank unterstützt mehrere rollenbasierte Zugriffsberechtigungen, die Sie im Azure-Portal anwenden, um den Handlungsspielraum eines Projektmitarbeiters einzuschränken.

Integration in Clientanwendungen

Integration in Clientanwendungen wird durch Senden einer Abfrage an den Vorhersage-Runtimeendpunkt erreicht. Eine Abfrage wird mit einem SDK oder einer REST-basierten Anforderung an den Web-App-Endpunkt Ihres QnA Maker an Ihre bestimmte Wissensdatenbank gesendet.

Damit eine Clientanforderung ordnungsgemäß authentifiziert werden kann, muss die Clientanwendung die richtigen Anmeldeinformationen und die ID der Wissensdatenbank senden. Wenn Sie einen Azure Bot Service verwenden, konfigurieren Sie diese Einstellungen als Teil der Botkonfiguration im Azure-Portal.

Konversationsfluss in einer Clientanwendung

Der Konversationsfluss in einer Clientanwendungs wie einem Azure-Bot erfordert möglicherweise vor und nach der Interaktion mit der Wissensdatenbank Funktionalität.

Unterstützt Ihre Clientanwendung den Konversationsfluss, entweder durch die Bereitstellung alternativer Mittel zur Bearbeitung von Folgeaufforderungen oder durch Smalltalk? Sofern dies der Fall ist, entwerfen Sie diese frühzeitig und stellen Sie sicher, dass die Abfrage der Clientanwendung von einem anderen Dienst oder bei der Übermittlung an Ihre Wissensdatenbank ordnungsgemäß bearbeitet wird.

Disponieren zwischen QnA Maker und Language Understanding (LUIS)

Eine Clientanwendung kann mehrere Features bereitstellen, von denen nur eines durch eine Wissensdatenbank beantwortet wird. Andere Features müssten weiterhin den Konversationstext verstehen und die Bedeutung daraus extrahieren.

Eine gängige Clientanwendungsarchitektur ist die gemeinsame Verwendung von QnA Maker und Language Understanding (Luis). LUIS bietet die Textklassifizierung und -extraktion für beliebige Abfragen, auch für andere Dienste. QnA Maker stellt Antworten aus Ihrer Wissensdatenbank bereit.

In einem solchen Szenario mit gemeinsam genutzter Architektur wird das Disponieren zwischen den beiden Diensten durch das Dispatch-Tool von Bot Framework durchgeführt.

Aktives Lernen über eine Clientanwendung

QnA Maker nutzt aktives Lernen, um Ihre Wissensdatenbank durch Vorschlagen alternativer Fragen zu einer Antwort zu verbessern. Die Clientanwendung ist für einen Teil dieses aktiven Lernens verantwortlich. Die Clientanwendung kann anhand von Konversationseingabeaufforderungen feststellen, dass die Wissensdatenbank eine Antwort zurückgegeben hat, die für den Benutzer nicht hilfreich ist, und sie kann eine bessere Antwort ermitteln. Die Clientanwendung muss diese Informationen an die Wissensdatenbank zurücksenden, um die Vorhersagequalität zu verbessern.

Bereitstellen einer Standardantwort

Wenn Ihre Wissensdatenbank keine Antwort findet, wird die Standardantwort zurückgegeben. Diese Antwort kann auf der Seite Einstellungen im QnA Maker-Portal oder in den APIs konfiguriert werden.

Diese Standardantwort unterscheidet sich von der Standardantwort des Azure-Bots. Sie konfigurieren die Standardantwort für Ihren Azure-Bot im Azure-Portal als Teil der Konfigurationseinstellungen. Sie wird zurückgegeben, wenn der Schwellenwert für den Score nicht erreicht wird.

Vorhersage

Die Vorhersage ist die Antwort aus Ihrer Wissensdatenbank und enthält mehr Informationen als nur die Antwort. Um eine Abfragevorhersageantwort zu erhalten, verwenden Sie die GenerateAnswer-API.

Fluktuationen des Vorhersageergebnisses

Ein Ergebnis kann sich auf der Grundlage verschiedener Faktoren ändern:

  • Anzahl der Antworten, die Sie als Reaktion auf GenerateAnswer mit top-Eigenschaft angefordert haben
  • Vielzahl verfügbarer alternativer Fragen
  • Filtern nach Metadaten
  • An test oder production Wissensdatenbank gesendete Abfrage

Es gibt eine zweiphasige Antwortrangfolge:

  • Cognitive Search – erster Rang. Legen Sie die Anzahl der zulässigen Antworten so hoch fest, dass die besten Antworten von Cognitive Search zurückgegeben und dann an die Rangfolgefunktion von QnA Maker übergeben werden.
  • QnA Maker – zweiter Rang. Ermitteln der besten Antwort durch Featurisierung und Machine Learning.

Dienstupdates

Wenden Sie die aktuellsten Runtimeupdates an, um Dienstupdates automatisch zu verwalten.

Skalierung, Durchsatz und Resilienz

Skalierung, Durchsatz und Resilienz werden durch die Azure-Ressourcen, ihre Tarife und alle umgebenden Architekturen, wie Traffic Manager bestimmt.

Analyse mit Application Insights

Alle Abfragen Ihrer Wissensdatenbank werden in Application Insights gespeichert. Verwenden Sie unsere wichtigsten Abfragen, um Ihre Metriken zu verstehen.

Lebenszyklus der Entwicklung

Der Entwicklungslebenszyklus einer Wissensdatenbank ist fortlaufend: Bearbeiten, Testen und Veröffentlichen Ihrer Wissensdatenbank.

Entwicklung von QnA Maker-Paaren in der Wissensdatenbank

Ihre QnA-Paare sollten auf Basis der Nutzung Ihrer Clientanwendung entworfen und entwickelt werden.

Jedes Paar kann Folgendes enthalten:

  • Metadaten – Bei der Abfrage filterbar, damit Sie Ihre QnA-Paare mit zusätzlichen Informationen über Quelle, Inhalt, Format und Zweck Ihrer Daten versehen können.
  • Folgeaufforderungen – Helfen beim Bahnen eines Pfads durch Ihre Wissensdatenbank, damit der Benutzer die richtige Antwort findet.
  • Alternative Fragen – Wichtig, damit die Suche mit Ihrer Antwort aus verschiedenen Formen der Frage übereinstimmen kann. Vorschläge für aktives Lernen werden in alternative Fragen umgewandelt.

DevOps-Entwicklung

Zum Entwickeln einer Wissensdatenbank, die in eine DevOps-Pipeline eingefügt werden soll, muss die Wissensdatenbank in Batchtests isoliert sein.

Eine Wissensdatenbank teilt den Cognitive Search-Index mit allen anderen Wissensdatenbanken der QnA Maker-Ressource. Obwohl die Wissensdatenbank durch Partition isoliert ist, kann die Freigabe des Indexes im Vergleich zur veröffentlichten Wissensdatenbank einen Unterschied im Ergebnis verursachen.

Um mit der test- und production-Wissensdatenbank das gleiche Ergebnis zu erhalten, isolieren Sie eine QnA Maker-Ressource in eine einzelne Wissensdatenbank. In dieser Architektur muss die Ressource nur für die Dauer des isolierten Batchtests existieren.

Nächste Schritte