Agent Assist durch virtuellen Kundenservicemitarbeiter

In dieser Anleitung wird beschrieben, wie Sie die Funktion Virtual Agent Assist durch direkten API-Aufruf aktivieren. Der Assistent „Virtual Agent Assist“ folgt der Unterhaltung und verwendet einen virtuellen Dialogflow-Agent, um menschliche Agenten bei Workflows zu unterstützen und Intents für die Datenanalyse zu erkennen.

Wenn Sie möchten, können Sie die Agent Assist Console verwenden, um ein Modell zu trainieren und seine Leistung mit dem Simulator zu testen. Eine Anleitung finden Sie im Tutorial zur Virtual Agent Assist Console.

Hinweis

Bevor Sie Virtual Agent Assist aktivieren können, müssen Sie bereits eine oder mehrere Agent Assist-Funktionen implementiert haben, die mit dem virtuellen Kundenservicemitarbeiter verwendet werden sollen. „Intelligente Antwort“, „FAQ-Unterstützung“, „Artikelvorschlag“ und „Intelligentes Schreiben“ können allein mit Virtual Agent Assist oder in beliebiger Kombination verwendet werden. Über die folgenden Links gelangen Sie zur entsprechenden Dokumentation mit Implementierungsdetails.

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

Rufen Sie zum Erstellen einer Unterhaltung die Methode create für die Ressource Conversation auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Cloud-Projekt-ID
  • LOCATION_ID: Ihre Standort-ID
  • 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/locations/LOCATION_ID/conversations

JSON-Text anfordern:

{
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "lifecycleState": "IN_PROGRESS",
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "startTime": "2018-11-05T21:05:45.622Z"
}

Das Pfadsegment nach conversations enthält Ihre neue Unterhaltungs-ID.

Python

Richten Sie zur Authentifizierung bei Agent Assist Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def create_conversation(project_id, conversation_profile_id):
    """Creates a conversation with given values

    Args:
        project_id:  The GCP project linked with the conversation.
        conversation_profile_id: The conversation profile id used to create
        conversation."""

    client = dialogflow.ConversationsClient()
    conversation_profile_client = dialogflow.ConversationProfilesClient()
    project_path = client.common_project_path(project_id)
    conversation_profile_path = conversation_profile_client.conversation_profile_path(
        project_id, conversation_profile_id
    )
    conversation = {"conversation_profile": conversation_profile_path}
    response = client.create_conversation(
        parent=project_path, conversation=conversation
    )

    print("Life Cycle State: {}".format(response.lifecycle_state))
    print("Conversation Profile Name: {}".format(response.conversation_profile))
    print("Name: {}".format(response.name))
    return response

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

Rufen Sie zum Erstellen eines Endnutzers als Teilnehmer die Methode create für die Ressource Participant auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Cloud-Projekt-ID
  • LOCATION_ID: Ihre Standort-ID
  • CONVERSATION_ID: Die Unterhaltungs-ID

HTTP-Methode und URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_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 eine JSON-Antwort ähnlich wie diese erhalten:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_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

Richten Sie zur Authentifizierung bei Agent Assist Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def create_participant(project_id: str, conversation_id: str, role: str):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Creates a participant in a given conversation.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant: participant to be created."""

    client = dialogflow.ParticipantsClient()
    conversation_path = dialogflow.ConversationsClient.conversation_path(
        project_id, conversation_id
    )
    if role in ROLES:
        response = client.create_participant(
            parent=conversation_path, participant={"role": role}, timeout=600
        )
        print("Participant Created.")
        print(f"Role: {response.role}")
        print(f"Name: {response.name}")

        return response

Menschlichen Kundenservicemitarbeiter als Teilnehmer erstellen

Fügen Sie der Unterhaltung einen menschlichen Kundenservicemitarbeiter als Teilnehmer hinzu:

REST

Rufen Sie zum Erstellen eines menschlichen Kundenservicemitarbeiters als Teilnehmer die Methode create für die Ressource Participant auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Cloud-Projekt-ID
  • LOCATION_ID: Ihre Standort-ID
  • CONVERSATION_ID: Die Unterhaltungs-ID

HTTP-Methode und URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_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 eine JSON-Antwort ähnlich wie diese erhalten:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_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

Richten Sie zur Authentifizierung bei Agent Assist Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def create_participant(project_id: str, conversation_id: str, role: str):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Creates a participant in a given conversation.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant: participant to be created."""

    client = dialogflow.ParticipantsClient()
    conversation_path = dialogflow.ConversationsClient.conversation_path(
        project_id, conversation_id
    )
    if role in ROLES:
        response = client.create_participant(
            parent=conversation_path, participant={"role": role}, timeout=600
        )
        print("Participant Created.")
        print(f"Role: {response.role}")
        print(f"Name: {response.name}")

        return response

Nachricht vom Endnutzer hinzufügen und Vorschläge erhalten

Rufen Sie die Methode analyzeContent für die Ressource Participant auf, um eine Endnutzernachricht für die Unterhaltung hinzuzufügen und zu analysieren. Die Antwort enthält ein Feld dialogflowAssistAnswers mit den folgenden Daten:

  • fulfillmentText: Enthält einen Antwortvorschlag. Sie können Ihr System so konfigurieren, dass dieser Vorschlag dem Kundenservicemitarbeiter angezeigt wird.
  • answer record: Eine eindeutige ID für den Vorschlag.

Vorschlag auswählen

Wenn ein Kundenservicemitarbeiter einen Vorschlag erhält, kann er ihn unverändert annehmen oder bearbeiten, bevor er ihn an den Endnutzer weiterleitet. Wenn Sie einen Vorschlag auswählen möchten, rufen Sie analyzeContent noch einmal mit dem menschlichen Kundenservicemitarbeiter als Teilnehmer auf. Legen Sie das Feld suggestionInput auf die ausgewählten Einstellungen fest und geben Sie die answer record an, die Sie zuvor erhalten haben. Das Feld text override sollte den tatsächlichen Text enthalten, der an den Endnutzer gesendet wurde. Das folgende Beispiel zeigt, wie das Feld suggestionInput konfiguriert wird:

{
  "answerRecord": "answer-record",
  "textOverride": {
    "text" : "Yes, there will be ponies.",
    "languageCode": "en-US"
  }
}

Unterhaltung abschließen

Verwenden Sie am Ende der Unterhaltung die API, um die Unterhaltung abzuschließen.

REST

Rufen Sie zum Abschließen der Unterhaltung die Methode complete für die Ressource conversations auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre GCP-Projekt-ID
  • 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 eine JSON-Antwort ähnlich wie diese 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

Richten Sie zur Authentifizierung bei Agent Assist Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def complete_conversation(project_id, conversation_id):
    """Completes the specified conversation. Finished conversations are purged from the database after 30 days.

    Args:
        project_id: The GCP project linked with the conversation.
        conversation_id: Id of the conversation."""

    client = dialogflow.ConversationsClient()
    conversation_path = client.conversation_path(project_id, conversation_id)
    conversation = client.complete_conversation(name=conversation_path)
    print("Completed Conversation.")
    print("Life Cycle State: {}".format(conversation.lifecycle_state))
    print("Conversation Profile Name: {}".format(conversation.conversation_profile))
    print("Name: {}".format(conversation.name))
    return conversation