Eine Wissensdatenbank stellt eine Sammlung von Wissensdokumenten dar, die Sie Dialogflow zur Verfügung stellen. Ihre Wissensdokumente enthalten Informationen, die bei Gesprächen mit Endnutzern nützlich sein können. Einige Dialogflow-Features verwenden Wissensdatenbanken, wenn nach einer Antwort auf einen Endnutzerausdruck gesucht wird. In diesem Leitfaden wird beschrieben, wie Sie Wissensdatenbanken erstellen und verwalten.
Wissensdatenbank auf Agent-Ebene angewendet.
Hinweise
Bevor Sie diese Anleitung lesen, sollten Sie mit Folgendem vertraut sein:
Knowledge Base erstellen
In den folgenden Beispielen wird gezeigt, wie Sie die Dialogflow-Konsole, die REST API (mit Befehlszeilentool) oder die Clientbibliotheken zur Erstellung einer Wissensdatenbank verwenden.
Rufen Sie zur Verwendung der API die Methode create
des Typs KnowledgeBase
auf.
Web-UI
Verwenden Sie die Dialogflow-Konsole, um eine Wissensdatenbank zu erstellen:- Rufen Sie die Dialogflow ES-Konsole auf.
- Wählen Sie einen Agent aus.
- Klicken Sie im linken Seitenleistenmenü auf Knowledge (Wissen).
- Klicken Sie auf Create Knowledge Base (Wissensdatenbank erstellen).
- Geben Sie einen Namen für die Wissensdatenbank ein.
- Klicken Sie auf Speichern.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: ID Ihres GCP-Projekts
- KNOWLEDGE_BASE_DISPLAY_NAME: Name der gewünschten Wissensdatenbank
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases
JSON-Text anfordern:
{ "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA", "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
Beachten Sie den Wert im Feld name
.
Dies ist der Name Ihrer neuen Wissensdatenbank.
Das Pfadsegment nach knowledgeBases
ist Ihre neue Wissensdatenbank-ID.
Speichern Sie diese ID für nachfolgende Anfragen.
Java
Richten Sie zur Authentifizierung bei Dialogflow die Standardanmeldedaten für Anwendungen ein. 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.
Dokument der Knowledge Base hinzufügen
Da die neue Wissensdatenbank noch keine Dokumente enthält, soll ihr ein Dokument hinzugefügt werden. Unter Unterstützter Inhalt unten finden Sie eine Beschreibung aller unterstützten Inhaltsoptionen. Für dieses Beispiel können Sie das FAQ zu Cloud Storage verwenden.
In den folgenden Beispielen wird gezeigt, wie Sie die Dialogflow-Konsole, die REST API (mit Befehlszeilentool) oder die Clientbibliotheken zur Erstellung eines Wissensdokuments verwenden.
Rufen Sie zur Verwendung der API die Methode create
des Typs Document
auf.
Web-UI
Verwenden Sie die Dialogflow-Konsole, um ein Wissensdokument zu erstellen:- Wenn Sie hier nicht die Schritte von oben fortführen, können Sie die Einstellungen der Wissensdatenbank aufrufen:
- Rufen Sie die Dialogflow ES-Konsole auf.
- Wählen Sie einen Agent aus.
- Klicken Sie im linken Seitenleistenmenü auf Knowledge (Wissen).
- Klicken Sie auf den Namen Ihrer Wissensdatenbank.
- Klicken Sie auf New Document (Neues Dokument) oder Create the first one (Erstes erstellen).
- Geben Sie einen Namen für das Dokument ein.
- Wählen Sie als Mime Type (Mime-Typ) die Option text/html (Text/HTML) aus.
- Wählen Sie als Knowledge Type (Wissenstyp) die Option FAQ aus.
- Wählen Sie als Datenquelle die Option URL aus.
- Geben Sie im Feld URL https://cloud.google.com/storage/docs/faq ein.
- Klicken Sie auf Create (Erstellen).
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: ID Ihres GCP-Projekts
- KNOWLEDGE_BASE_ID: ID Ihrer Wissensdatenbank (bei der vorherigen Anfrage zurückgegeben)
- DOCUMENT_DISPLAY_NAME: gewünschter Name des Wissensdokuments
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents
JSON-Text anfordern:
{ "displayName": "DOCUMENT_DISPLAY_NAME", "mimeType": "text/html", "knowledgeTypes": "FAQ", "contentUri": "https://cloud.google.com/storage/docs/faq" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA" }
Das Pfadsegment nach operations
ist Ihre Vorgangs-ID.
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 zur Authentifizierung bei Dialogflow die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Das Erstellen eines Dokuments kann einige Zeit dauern. Sie können den Status dieses Vorgangs abrufen, um festzustellen, ob er abgeschlossen wurde. Anschließend enthält der Vorgang die neu erstellte Dokument-ID. Speichern Sie diese ID zur späteren Verarbeitung. Weitere Informationen finden Sie unter Vorgänge mit langer Laufzeit.
Wissensdokumente verwalten
Inhalt des Wissensdokuments aktualisieren
Wenn Sie Inhalte aktualisieren, die von einem Wissensdokument referenziert werden, wird Ihr Wissensdokument möglicherweise nicht automatisch aktualisiert. Ihre Inhalte werden nur automatisch aktualisiert, wenn sie als öffentliche URL bereitgestellt werden und Sie die Option Automatische Aktualisierung aktivieren für das Dokument aktiviert haben.
Wenn Sie den Inhalt von Cloud Storage oder öffentlichem URL-Dokument manuell aktualisieren möchten, rufen Sie die Methode reload
für den Typ Document
auf.
Verwenden Sie zum Aktualisieren hochgeladener Rohinhalte die Methoden delete
und create
für den Typ Document
. Dadurch wird Ihr Dokument neu erstellt.
Wissensdokumente auflisten
Sie können alle Wissensdokumente für Ihre Wissensdatenbank auflisten.
Rufen Sie zur Verwendung der API die Methode list
des Typs Document
auf.
Wissensdokumente löschen
Sie können Wissensdokumente in Ihrer Wissensdatenbank löschen.
Rufen Sie zur Verwendung der API die Methode delete
des Typs Document
auf.
Wenn Ihnen die Dokument-ID nicht vorliegt, können Sie die Dokumente wie oben beschrieben auflisten.
Unterstützter Inhalt
Die folgenden Wissensdokumenttypen werden unterstützt:
- FAQ: Der Dokumentinhalt enthält Frage- und Antwortpaare, entweder als HTML- oder als CSV-Datei. Typische HTML-Formate für FAQ werden genau geparst, für ungewöhnliche Formate hingegen wird dies möglicherweise nicht durchgeführt. CSV-Dateien müssen in der ersten Spalte Fragen und in der zweiten Spalte Antworten enthalten und dürfen keine Kopfzeile haben. Aufgrund dieses expliziten Formats werden sie immer genau geparst.
- Extractive QA: Dokumente, für die unstrukturierter Text extrahiert und zur Beantwortung von Fragen verwendet wird.
In der folgenden Tabelle finden Sie die unterstützten MIME-Typen nach Wissenstyp und Quelle sortiert.
Wissenstyp/Quelle | Hochgeladene Datei (Document.content) (NICHT empfohlen) | Hochgeladene Datei (Document.raw_content) (empfohlen) | Datei aus Cloud Storage (Document.contentUri) | Datei aus öffentlicher URL (Document.contentUri) |
---|---|---|---|---|
FAQ | text/csv | text/csv | text/csv | text/html |
Extractive QA | text/plain, text/html | text/plain, text/html, application/pdf | text/plain, text/html, application/pdf | – |
Mit dem Dokumentinhalt sind die folgenden bekannten Probleme, Einschränkungen und Best Practices verbunden:
Allgemein:
- Dateien aus öffentlichen URLs müssen vom Google-Suchindex gecrawlt worden sein, sodass sie im Suchindex erscheinen. Sie können dies mit der Google Search Console prüfen. Beachten Sie, dass Ihre Inhalte durch die Indexierung nicht aktualisiert werden. Sie müssen Ihr Wissensdokument explizit aktualisieren, wenn sich der Quellinhalt ändert.
- CSV-Dateien müssen Kommas als Trennzeichen verwenden.
- Konfidenzwerte sind noch nicht zwischen FAQ und Wissensdatenbank-Artikeln kalibriert. Wenn Sie sowohl FAQ als auch Wissensdatenbank-Artikel verwenden, ist das beste Ergebnis möglicherweise nicht immer das mit dem höchsten Konfidenzwert.
- Dialogflow entfernt HTML-Tags beim Erstellen von Antworten aus dem Inhalt. Daher sollten Sie HTML-Tags vermeiden und nach Möglichkeit nur Text verwenden.
- Google Assistant-Antworten sind pro Sprechblase auf 640 Zeichen beschränkt. Lange Antworten bei der Integration in Google Assistant werden abgeschnitten.
- Dokumente können maximal 50 MB groß sein.
- Wenn Sie Cloud Storage-Dateien verwenden, sollten Sie wahlweise öffentliche URIs oder private URIs verwenden, auf die Ihr Nutzer- oder Dienstkonto Zugriff hat.
Speziell für FAQ:
- CSV-Dateien müssen in der ersten Spalte Fragen und in der zweiten Spalte Antworten enthalten und dürfen keine Kopfzeile haben.
- Verwenden Sie nach Möglichkeit das CSV-Format, da dieses genauer geparst wird.
- Öffentlicher HTML-Inhalt mit einem einzelnen QA-Paar wird nicht unterstützt.
- Ein Dokument sollte maximal 2000 QA-Paare enthalten.
- Doppelte Fragen mit unterschiedlichen Antworten werden nicht unterstützt.
- Sie können auch ein anderes FAQ-Dokument verwenden. Der FAQ-Parser unterstützt die meisten FAQ-Formate.
Speziell für Extractive QA:
- Extractive QA befindet sich derzeit in der Testphase. Das Verfahren ähnelt den Technologien, die von Google in Produkten wie Suche und Assistant getestet wurden. Senden Sie uns Ihr Feedback hinsichtlich der Funktionsweise mit Dialogflow.
- Inhalt mit dichtem Text funktioniert am besten. Vermeiden Sie Inhalte mit vielen aus einem einzelnen Satz bestehenden Absätzen.
- Tabellen und Listen werden nicht unterstützt.
- Ein Dokument sollte maximal 2.000 Absätze enthalten.
- Wenn ein Artikel lang ist (> 1000 Wörter), versuchen Sie, ihn in mehrere kleinere Artikel aufzuteilen. Wenn der Artikel mehrere Probleme behandelt, kann er in kürzere Artikel zu den einzelnen Problemen unterteilt werden. Wenn der Artikel nur ein Problem behandelt, konzentrieren Sie den Artikel auf die Problembeschreibung und halten Sie die Problemlösung kurz.
- Im Idealfall sollte nur der Kerninhalt eines Artikels bereitgestellt werden (Beschreibung und Lösung des Problems). Zusätzlicher Inhalt wie der Name des Autors, der Änderungsverlauf, zugehörige Links und Anzeigen sind nicht wichtig.
- Fügen Sie eine Beschreibung für die Probleme, bei denen ein Artikel helfen kann, und/oder Beispielabfragen ein, die in diesem Artikel beantwortet werden können.
Cloud Storage verwenden
Wenn Ihr Inhalt nicht öffentlich ist, sollten Sie Ihre Inhalte in Cloud Storage speichern. Beim Erstellen von Wissensdokumenten geben Sie die URLs für Ihre Cloud Storage-Objekte an.
Cloud Storage-Buckets und -Objekte erstellen
Beim Erstellen des Cloud Storage-Buckets:
- Sie müssen das GCP-Projekt ausgewählt haben, das Sie für Dialogflow verwenden.
- Achten Sie darauf, dass das Nutzerkonto oder Dienstkonto, mit dem Sie normalerweise auf die Dialogflow API zugreifen, Leseberechtigungen für die Bucket-Objekte hat.
- Verwenden Sie die Standard Storage-Klasse.
- Legen Sie den Bucket-Speicherort auf einen Standort fest, der Ihrem Standort am nächsten ist.
Für einige API-Aufrufe benötigen Sie die Standort-ID, z. B.
us-west1
. Am besten notieren Sie sich diese.
Folgen Sie der Cloud Storage-Kurzanleitung, um einen Bucket zu erstellen und Dateien hochzuladen.
Cloud Storage-Objekt einem Wissensdatenbankdokument bereitstellen
So stellen Sie Ihre Inhalte bereit:
- Erstellen Sie eine Wissensdatenbank wie oben beschrieben.
- Erstellen Sie wie oben beschrieben ein Wissensdokument.
Legen Sie beim Aufrufen der Methode
create
für den TypDocument
das FeldcontentUri
auf die URL Ihres Cloud Storage-Dokuments fest. Das Format dieser URL sieht so aus:gs://bucket-name/object-name
.