Wissensconnectors ergänzen definierte Intents. Sie parsen Wissensdokumente (z. B. FAQ oder Artikel), um automatisierte Antworten zu finden. Um diese zu konfigurieren, definieren Sie eine oder mehrere Wissensdatenbanken, bei denen es sich um Sammlungen von Wissensdokumenten handelt.
Sie haben die Möglichkeit, Wissensdatenbanken für Ihren Agent zu aktivieren, sodass darin auf alle Anfragen zur Intent-Erkennung automatisch Antworten ermittelt werden können. Alternativ können Sie in Ihren individuellen Anfragen zur Intent-Erkennung eine oder mehrere Wissensdatenbanken angeben.
Agents, die Wissensconnectors verwenden, nutzen in der Regel auch definierte Intents. Wissensconnectors bieten ungenauere Antworten und Kontrollmöglichkeiten als Intents. Definieren Sie Ihre Intents für die Verarbeitung komplexer Nutzeranfragen und lassen Sie Wissensconnectors einfache Anfragen verarbeiten.
Eine Liste der unterstützten Sprachen finden Sie in der Sprachreferenz in der Spalte Wissensconnectors.
Beschränkungen
Das Feature für Wissensconnectors ist nur für die Region global
verfügbar.
Betafeatures aktivieren
Prüfen Sie, ob die Betafeatures aktiviert sind:
- Rufen Sie die Dialogflow ES-Konsole auf.
- Wählen Sie einen Agent aus.
- Klicken Sie neben dem Agent-Namen auf die Schaltfläche settings für die Einstellungen.
- Scrollen Sie auf dem Tab General nach unten und prüfen Sie, ob Beta Features aktiviert ist.
- Wenn Sie Änderungen vorgenommen haben, klicken Sie auf Save.
Wissensdatenbank und Dokument erstellen
Folgen Sie der Anleitung in der Anleitung zu Wissensdatenbanken, um eine Wissensdatenbank und ein Dokument zu erstellen.
Einstellungen für Wissensconnectors
Sie können für Ihren Agent eine Wissensdatenbanken aktivieren oder deaktivieren. Aktivierte Wissensdatenbanken werden bei allen Anfragen mit Intent-Übereinstimmung berücksichtigt, die keine Wissensdatenbanken angeben. So aktivieren oder deaktivieren Sie Wissensdatenbanken:
- Rufen Sie die Dialogflow ES-Konsole auf.
- Wählen Sie einen Agent aus.
- Klicken Sie im linken Seitenleistenmenü auf Knowledge.
- Wählen Sie eine oder mehrere Wissensdatenbanken aus der Liste aus.
- Klicken Sie auf Enable oder Disable.
Wenn ein Endnutzerausdruck auch mit einem Intent übereinstimmt, können Sie festlegen, wie stark Sie Wissensergebnisse bevorzugen:
- Scrollen Sie nach unten zum Abschnitt Adjust Knowledge Results Preference.
- Stellen Sie den Schieberegler zwischen "schwächer" (Intent wird bevorzugt) und "stärker" (Wissen wird bevorzugt) ein. Weitere Informationen finden Sie unten unter Intent-Antworten erkennen.
Antworten konfigurieren
Standardmäßig wird eine Wissensdatenbank mit einer einzelnen Standardtextantwort konfiguriert, die mit der am besten passenden Wissensantwort gefüllt wird. Sie können diese Antwort ändern und Rich-Media-Antworten hinzufügen. Wissensantworten können bis zu drei Antworten pro Wissensdatenbank enthalten. Sie können in Ihren konfigurierten Antworten auf diese Antworten verweisen. So fügen Sie Antworten hinzu:
- Klicken Sie auf der Seite Knowledge auf den Namen Ihrer Wissensdatenbank.
- Scrollen Sie nach unten zum Abschnitt Responses und fügen Sie nach Wunsch Antworten hinzu:
- Legen Sie bei der ersten Antwort mit
$Knowledge.Question[1]
und$Knowledge.Answer[1]
fest, wo die Frage und die Antwort angegeben werden sollen. - Der Index für
$Knowledge.Question
und$Knowledge.Answer
beginnt bei 1. Erhöhen Sie diesen Index, wenn Sie weitere Antworten einfügen.
- Legen Sie bei der ersten Antwort mit
- Klicken Sie nach der Bearbeitung auf Save.
Beachten Sie beim Definieren von Antworten folgende Punkte:
- Ist die Anzahl der definierten Antworten größer als die Anzahl N der Übereinstimmungen der Antworten des Wissensconnectors, werden nur N Antworten zurückgegeben.
- Da die Genauigkeit unter Umständen niedriger ist, als der Abgleich explizit definierter Intents. sollten Sie Ihren Nutzern nach Möglichkeit drei Antworten zurückgeben.
Beispiel:
Intent mit Knowledge Base erkennen
Beim Erstellen einer Anfrage zur Intent-Erkennung können Sie eine oder mehrere Wissensdatenbanken für eine mögliche Antwort angeben. Die explizite Angabe von Wissensdatenbanken in einer Anfrage überschreibt die Einstellungen für aktivierte und deaktivierte Wissensdatenbanken.
In den folgenden Beispielen wird gezeigt, wie Sie die Dialogflow-Konsole, die REST API (mit Befehlszeilentool) oder die Clientbibliotheken zur Erkennung eines Intents verwenden.
Rufen Sie zur Verwendung der API die Methode detectIntent
des Typs Sessions
auf.
Web-UI
Sie können mit dem Agent interagieren und Antworten für Wissensconnectors erhalten über das Dialogflow-Simulator:- Aktivieren Sie mithilfe der obigen Schritte eine Wissensdatenbank.
- Definieren Sie mithilfe der obigen Schritte Antworten.
- Geben Sie in den Simulator Folgendes ein: "How do I sign up?" (Wie melde ich mich an?).
REST
Rufen Sie die MethodedetectIntent
des Typs Sessions
auf und geben Sie die Wissensbasis im Feld queryParams
an.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: ID Ihres GCP-Projekts
- KNOWLEDGE_BASE_ID: Ihre Wissensdatenbank-ID
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/agent/sessions/123456789:detectIntent
JSON-Text anfordern:
{ "queryInput": { "text": { "text": "How do I sign up?", "languageCode": "en-US" } }, "queryParams": { "knowledgeBaseNames": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID"] } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ ... "queryResult": { "queryText": "How do I sign up?", "parameters": {}, "allRequiredParamsPresent": true, "fulfillmentText": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "intent": { "name": "projects/my-gcp-project/agent/intents/487c7242-a769-408a-a339-47b95e10dac4", "displayName": "Knowledge.KnowledgeBase.MzkzNTAyMDE3NDQxNDk3MDg4MA" }, "intentDetectionConfidence": 0.99371547, "languageCode": "en-us", "knowledgeAnswers": { "answers": [ { "answer": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "matchConfidenceLevel": "HIGH", "matchConfidence": 0.99371547 }, { "answer": "Certain types of content are not allowed on this service; please refer to the Terms of Services and Platform Policies for details. If you believe a piece of content is in violation of our policies, report it here (select See more products, then Google Cloud Storage and Cloud Bigtable).", "matchConfidenceLevel": "LOW", "matchConfidence": 0.0012244871 }, { "answer": "From the Cloud Storage documentation click \"Send feedback\" near the top right of the page. This will open a feedback form. Your comments will be reviewed by the Cloud Storage team.", "matchConfidenceLevel": "LOW", "matchConfidence": 0.0011537358 } ] } } }
Java
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie zur Authentifizierung bei Dialogflow die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Intent-Antworten erkennen
Die Antwort für die Methode detectIntent
des Typs Sessions
ist ein DetectIntentResponse
.
Wie Antwortfelder ausgefüllt werden, hängt von mehreren Faktoren ab.
Wenn ein definierter Intent und eine Wissensdatenbank jeweils potenzielle Übereinstimmungen zurückgeben, erfolgt die Auswahl der Übereinstimmung anhand des jeweiligen Konfidenzwerts und der Einstellung für Wissensergebnisse. Weitere Informationen erhalten Sie unter Einstellungen für Wissensconnectors.
Die ausgewählte Übereinstimmung sehen Sie im Feld DetectIntentResponse.queryResult
. Weitere potenzielle Übereinstimmungen werden im Feld DetectIntentResponse.alternativeQueryResults
angegeben.
Beide Felder enthalten Nachrichten vom Typ QueryResult
.
Folgendes geschieht, wenn eine Wissensdatenbank eine potenzielle Übereinstimmung liefert:
QueryResult.knowledgeAnswers
wird mit einer Liste potenzieller Wissensantworten gefüllt, die absteigend nach Konfidenzwert sortiert sind.- Wenn für die Wissensdatenbank umfangreiche Antworten definiert wurden, wird
QueryResult.fulfillmentMessages
mit umfangreichen Antwortnachrichten gefüllt.
Wenn Sie eine Anfrage zur Intent-Erkennung stellen, kann die Wissensabfrage fehlschlagen.
In diesem Fall werden definierte Intents ausgewählt, sodass die allgemeine Anfrage zur Intent-Erkennung erfolgreich ist.
Informationen zu Fehlern bei Wissensanfragen finden Sie im Feld DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo
.
Wissensdatenbanken verwalten
Weitere Informationen zum Verwalten von Wissensdatenbanken finden Sie unter Wissensdatenbanken verwalten.