Das Agent Assist-Feature "Artikelvorschlag" verfolgt eine Unterhaltung zwischen einem menschlichen Kundenservicemitarbeiter und einem Endnutzer und stellt dem menschlichen Kundenservicemitarbeiter relevante Dokumentvorschläge bereit. Ein menschlicher Kundenservicemitarbeiter kann diese Vorschläge prüfen, während die Unterhaltung fortgesetzt wird, und entscheiden, welche Dokumente gelesen oder für den Endnutzer freigegeben werden sollen. Mit dem Tool "Artikelvorschlag" können Sie einem menschlichen Kundenservicemitarbeiter helfen, Probleme von Endnutzern zu verstehen und zu lösen, während sich der menschliche Kundenservicemitarbeiter und der Endnutzer unterhalten.
Agent Assist bietet Artikelvorschlagsmodelle, mit denen Sie Ihren menschlichen Kundenservicemitarbeitern Artikel vorschlagen können. Optional können Sie ein benutzerdefiniertes Modell mit Ihren eigenen hochgeladenen Unterhaltungsdaten trainieren, um die Leistung zu verbessern. Wenn Sie ein benutzerdefiniertes Vorschlagsmodell für die Nutzung mit "Artikelvorschlag" trainieren möchten, wenden Sie sich an Ihren Google-Ansprechpartner.
In diesem Dokument wird beschrieben, wie Sie mit der API "Artikelvorschlag" implementieren und während der Laufzeit Vorschläge von diesem Feature erhalten. Sie haben die Möglichkeit, mit der Agent Assist Console die Ergebnisse von "Artikelvorschlag" während der Entwicklung zu testen. Sie müssen die API jedoch während der Laufzeit direkt aufrufen. Informationen zum Testen der Feature-Leistung über die Agent Assist Console finden Sie im Abschnitt "Anleitungen".
Hinweis
Führen Sie die folgenden Schritte aus, bevor Sie mit dieser Anleitung beginnen:
- Aktivieren Sie die Dialogflow API für Ihr GCP-Projekt.
- Aktivieren Sie die Data Labeling API für Ihr Projekt.
Unterhaltungsprofil konfigurieren
Um Vorschläge von Agent Assist zu erhalten, müssen Sie eine Wissensdatenbank mit Ihren hochgeladenen Dokumenten erstellen und ein Unterhaltungsprofil konfigurieren. Sie können diese Aktionen auch mit der Agent Assist Console ausführen, wenn Sie die API nicht direkt aufrufen möchten.
Knowledge Base erstellen
Bevor Sie Dokumente hochladen können, müssen Sie zuerst eine Wissensdatenbank erstellen, in der Sie die Dokumente speichern. Rufen Sie zum Erstellen einer Wissensdatenbank die Methode create
des Typs KnowledgeBase
auf.
REST UND BEFEHLSZEILE
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die ID Ihres GCP-Projekts
- KNOWLEDGE_BASE_DISPLAY_NAME: Name der gewünschten Wissensdatenbank
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/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" }
Das Pfadsegment nach knowledgeBases
enthält Ihre neue Wissensdatenbank-ID.
Python
Wissensdokument erstellen
Sie können der Wissensdatenbank jetzt Dokumente hinzufügen. Rufen Sie die Methode create
im Typ Document
auf, um ein Dokument in der Wissensdatenbank zu erstellen.
Legen Sie KnowledgeType
auf ARTICLE_SUGGESTION
fest. In diesem Beispiel wird eine HTML-Datei mit Informationen zur Rückgabereihenfolge verwendet, die in einen öffentlich freigegebenen Cloud Storage-Bucket hochgeladen wurde. Wenn Sie "Artikelvorschlag" in Ihrem eigenen System einrichten, müssen die Dokumente eines der folgenden Formate haben: Weitere Informationen zu den Best Practices für Dokumente finden Sie in der Dokumentation zu Wissensdokumenten.
Formate für Wissensdokumente:
- Eine in einem GCS-Bucket gespeicherte Datei. Sie können den Pfad angeben, wenn Sie die API aufrufen.
- Der Textinhalt eines Dokuments zum Senden in einer API-Anfrage.
- Eine öffentliche URL.
REST UND BEFEHLSZEILE
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die 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/v2/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents
JSON-Text anfordern:
{ "displayName": "DOCUMENT_DISPLAY_NAME", "mimeType": "text/html", "knowledgeTypes": "ARTICLE_SUGGESTION", "contentUri": "gs://agent-assist-public-examples/public_article_suggestion_example_returns.html" }
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" }
Die Antwort ist ein Vorgang mit langer Ausführungszeit, bei dem Sie prüfen können, ob er abgeschlossen wurde.
Python
Unterhaltungsprofil erstellen
Ein Unterhaltungsprofil konfiguriert eine Reihe von Parametern zum Steuern der Vorschläge, die einem menschlichen Kundenservicemitarbeiter während einer Unterhaltung erteilt werden. In den folgenden Schritten wird ein ConversationProfile
mit einem HumanAgentAssistantConfig
-Objekt erstellt. Sie können diese Aktionen auch mit der Agent Assist Console ausführen, wenn Sie die API nicht direkt aufrufen möchten.
Wir empfehlen Ihnen, einen anfänglichen Konfidenzschwellenwert von 0,1 festzulegen. Bei Bedarf können Sie den Grenzwert über den empfohlenen Bereich hinaus erhöhen. Das Erhöhen des Schwellenwerts führt zu Ergebnissen mit einer höheren Genauigkeit und geringeren Abdeckung (weniger Vorschläge); Das Reduzieren des Schwellenwerts führt zu einer geringeren Genauigkeit und einer höheren Abdeckung (mehr Vorschläge).
REST UND BEFEHLSZEILE
Zum Erstellen eines Unterhaltungsprofils rufen Sie die Methodecreate
für die Ressource ConversationProfile
auf.
noSmallTalk
: Wenn true
, werden nach Small-Talk-Nachrichten wie "Hallo", "wie geht es dir" usw. keine Vorschläge ausgelöst. Bei false
werden Vorschläge nach Small-Talk-Nachrichten ausgelöst.
onlyEndUser
: Bei true
werden Vorschläge nur nach Endnutzernachrichten ausgelöst. Bei false
werden Vorschläge nach Nachrichten von sowohl Endnutzern als auch menschlichen Kundenservicemitarbeitern ausgelöst.
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die ID Ihres GCP-Projekts
- KNOWLEDGE_BASE_ID: Ihre Wissensdatenbank-ID
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversationProfiles
JSON-Text anfordern:
{ "name": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { "notificationConfig": {}, "humanAgentSuggestionConfig": { "featureConfigs": [ { "enableInlineSuggestion": true, "SuggestionTriggerSettings": { "noSmallTalk": true, "onlyEndUser": true, } "suggestionFeature": { "type": "ARTICLE_SUGGESTION" }, "queryConfig": { "knowledgeBaseQuerySource": { "knowledgeBases": [ "projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID" ] } } } ] } }, "sttConfig": {}, "languageCode": "en-US" }
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/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { ... } }
Das Pfadsegment nach conversationProfiles
enthält Ihre neue Unterhaltungsprofil-ID.
Python
Unterhaltungen während der Laufzeit verarbeiten
Unterhaltung erstellen
Wenn ein Dialog zwischen einem Endnutzer und einem menschlichen oder virtuellen Kundenservicemitarbeiter beginnt, erstellen Sie eine Unterhaltung. Um Vorschläge zu erhalten, müssen Sie einen Endnutzer und einen menschlichen Kundenservicemitarbeiter erstellen und der Unterhaltung als Teilnehmer hinzufügen. Dieser Prozess wird in den folgenden Abschnitten beschrieben.
Zuerst müssen Sie eine Unterhaltung erstellen:
REST UND BEFEHLSZEILE
Rufen Sie zum Erstellen einer Unterhaltung die Methodecreate
für die Ressource Conversation
auf.
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die ID Ihres GCP-Projekts
- CONVERSATION_PROFILE_ID: Die ID, die Sie beim Erstellen des Unterhaltungsprofils erhalten haben.
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations
JSON-Text anfordern:
{ "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
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/conversations/CONVERSATION_ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z" }
Das Pfadsegment nach conversations
enthält Ihre neue Unterhaltungs-ID.
Python
Endnutzer als Teilnehmer erstellen
Sie müssen der Unterhaltung sowohl Endnutzer als auch menschliche Kundenservicemitarbeiter hinzufügen, damit Vorschläge angezeigt werden. Fügen Sie der Unterhaltung zuerst einen Endnutzer als Teilnehmer hinzu:
REST UND BEFEHLSZEILE
Rufen Sie zum Erstellen eines Endnutzers als Teilnehmer die Methode create
für die Ressource Participant
auf.
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die ID Ihres GCP-Projekts
- CONVERSATION_ID: Die Unterhaltungs-ID
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants
JSON-Text anfordern:
{ "role": "END_USER", }
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/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "END_USER" }
Das Pfadsegment nach participants
enthält die neue Teilnehmer-ID für den Endnutzer.
Python
Menschlichen Kundenservicemitarbeiter als Teilnehmer erstellen
Fügen Sie der Unterhaltung einen menschlichen Kundenservicemitarbeiter als Teilnehmer hinzu:
REST UND BEFEHLSZEILE
Rufen Sie zum Erstellen eines menschlichen Kundenservicemitarbeiters als Teilnehmer die Methode create
für die Ressource Participant
auf.
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die ID Ihres GCP-Projekts
- CONVERSATION_ID: Die Unterhaltungs-ID
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants
JSON-Text anfordern:
{ "role": "HUMAN_AGENT", }
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/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "HUMAN_AGENT" }
Das Pfadsegment nach participants
enthält die neue Teilnehmer-ID für den menschlichen Kundenservicemitarbeiter.
Python
Nachricht vom menschlichen Kundenservicemitarbeiter hinzufügen und analysieren
Wenn ein Teilnehmer eine Nachricht in die Unterhaltung eingibt, müssen Sie diese Nachricht zur Verarbeitung an die API senden. Agent Assist erteilt Vorschläge basierend auf der Analyse von Nachrichten von menschlichen Kundenservicemitarbeitern und Endnutzern. Im folgenden Beispiel beginnt der Kundenservicemitarbeiter die Unterhaltung mit der Frage: "Wie kann ich Ihnen helfen?". In der Antwort werden noch keine Vorschläge zurückgegeben.
REST UND BEFEHLSZEILE
Wenn Sie die Nachricht eines menschlichen Kundenservicemitarbeiters für die Unterhaltung hinzufügen und analysieren möchten, rufen Sie die Methode analyzeContent
für die Ressource Participant
auf.
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die ID Ihres GCP-Projekts
- CONVERSATION_ID: Die Unterhaltungs-ID
- PARTICIPANT_ID: Die Teilnehmer-ID für den menschlichen Kundenservicemitarbeiter
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
JSON-Text anfordern:
{ "textInput": { "text": "How may I help you?", "languageCode": "en-US" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "How may I help you?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "HUMAN_AGENT", "createTime": "2020-02-13T00:01:30.683Z" }, "humanAgentSuggestionResults": [ { "suggestArticlesResponse": { "latestMessage": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "contextSize": 1 } } ] } } ] }
Python
Nachricht vom Endnutzer hinzufügen und Vorschläge erhalten
Als Antwort auf die Anfrage des Kundenservicemitarbeiters sagt der Endnutzer "Ich möchte meine Bestellung zurückgeben". Dieses Mal enthält die API-Antwort ein vorgeschlagenes Dokument mit dem zugehörigen Konfidenzwert. Weiter oben in dieser Anleitung haben Sie ein Wissensdokument zur Wissensdatenbank hinzugefügt und dieses Dokument wurde zurückgegeben. Die Konfidenzwerte reichen von 0 bis 1. Höhere Werte geben eine höhere Wahrscheinlichkeit an, dass das Dokument für die Unterhaltung relevant ist. Es wird auch ein Snippet mit den ersten 100 Zeichen des Dokuments zurückgegeben. Anhand des Snippets kann der menschliche Kundenservicemitarbeiter schnell bestimmen, ob das Dokument nützlich ist. Wir empfehlen, dass Sie diese Informationen an den menschlichen Kundenservicemitarbeiter weiterleiten, der das empfohlene Dokument für den Endnutzer freigeben kann.
REST UND BEFEHLSZEILE
Rufen Sie die Methode analyzeContent
für die Resource Participant
auf, um eine Endnutzernachricht für die Unterhaltung hinzuzufügen und zu analysieren.
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die ID Ihres GCP-Projekts
- CONVERSATION_ID: Die Unterhaltungs-ID
- PARTICIPANT_ID: Die Teilnehmer-ID für den Endnutzer
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
JSON-Text anfordern:
{ "textInput": { "text": "I want to return my order.", "languageCode": "en-US" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "I want to return my order.", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "END_USER", "createTime": "2020-02-13T00:07:35.925Z" }, "humanAgentSuggestionResults": [ { "suggestArticlesResponse": { "articleAnswers": [ { "title": "Return an order", "uri": "gs://agent-assist-public-examples/public_article_suggestion_example_returns.html", "snippets": [ "\u003cb\u003eReturn\u003c/b\u003e an \u003cb\u003eorder\u003c/b\u003e. Follow the steps below for Made-up Store \u003cb\u003ereturns\u003c/b\u003e. At this time, \nwe don't offer exchanges. In most cases, you can drop off \u003cb\u003ereturns\u003c/b\u003e at any Made-up\n ..." ], "metadata": { "title": "Return an order", "snippet": "\n \n\n\u003ch1\u003eReturn an order\u003c/h1\u003e \nFollow the steps below for Made-up Store returns. At this time, we do...", "document_display_name": "my-kdoc" }, "answerRecord": "projects/PROJECT_ID/answerRecords/ANSWER_RECORD_ID" } ], "latestMessage": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "contextSize": 2 } } ] }
Python
Unterhaltung abschließen
Verwenden Sie am Ende der Unterhaltung die API, um die Unterhaltung abzuschließen.
REST UND BEFEHLSZEILE
Rufen Sie zum Abschließen der Unterhaltung die Methodecomplete
für die Ressource conversations
auf.
Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:
- PROJECT_ID: Die ID Ihres GCP-Projekts
- CONVERSATION_ID: Die ID, die Sie beim Erstellen der Unterhaltung erhalten haben
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
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/conversations/CONVERSATION_ID", "lifecycleState": "COMPLETED", "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z", "endTime": "2018-11-06T03:50:26.930Z" }
Python
API-Anfrageoptionen
In den obigen Abschnitten wird gezeigt, wie Sie ein einfaches ConversationProfile
erstellen, um Vorschläge zu erhalten. In den folgenden Abschnitten werden einige optionale Funktionen beschrieben, die Sie während einer Unterhaltung implementieren können.
Pub/Sub-Benachrichtigungen für Vorschläge
In den obigen Abschnitten wurde das ConversationProfile nur mit einem menschlichen Kundenservicemitarbeiter erstellt. Während der Unterhaltung mussten Sie die API aufrufen, um Vorschläge zu erhalten, nachdem die einzelnen Nachrichten zur Unterhaltung hinzugefügt wurden. Wenn Sie lieber Benachrichtigungsereignisse zu Vorschlägen erhalten möchten, können Sie das Feld notificationConfig
beim Erstellen des Unterhaltungsprofils festlegen. Diese Option verwendet Cloud Pub/Sub, um Benachrichtigungen mit Vorschlägen an Ihre Anwendung zu senden, wenn die Unterhaltung fortgesetzt wird und neue Vorschläge verfügbar sind.