Generative Wissensunterstützung

Der generative Wissensassistent liefert Antworten auf die Fragen Ihrer Kunden anhand der Informationen in den von Ihnen bereitgestellten Dokumenten. Sie können Ihren Domainnamen angeben oder Dokumente für einen Datenspeicher-Agenten hochladen, um sie zu indexieren. Mithilfe der generativen Wissensunterstützung werden diese Informationen mit der laufenden Unterhaltung und den verfügbaren Kundenmetadaten kombiniert, um Kundenservicemitarbeitern eine relevantere und zeitnahe Antwort zu liefern.

Proaktive generative Wissensunterstützung verfolgt die laufende Unterhaltung zwischen Ihrem Kundenservicemitarbeiter und dem Kunden. Sie erhalten proaktiv Vorschläge für Suchanfragen basierend auf dem aktuellen Konversationskontext und der Antwort.

Datenspeicher-Agent erstellen

  1. Sofern Sie nicht der Projektinhaber sind, benötigen Sie die folgenden Rollen, um einen Datenspeicher-Agenten zu erstellen:

    • Dialogflow API-Administrator
    • Discovery Engine-Administrator
  2. Aktivieren Sie die Vertex AI Agent Builder API in der Vertex AI Console.

  3. Folgen Sie der Anleitung unter Datenspeicher-Agenten, um den Agenten zu erstellen.

Fragen von Kundenservicemitarbeitern beantworten

Der Data Store-Kundenservicemitarbeiter kann die Fragen Ihrer Kundenservicemitarbeiter anhand der von Ihnen bereitgestellten Dokumente beantworten.

Schritt 1: Unterhaltungsprofil erstellen

Erstellen Sie ein Unterhaltungsprofil mit der Agent Assist Console oder der API.

Über die Console erstellen

  1. Sie müssen den Vorschlagstyp für den generativen Wissensassistenten aktivieren und mit dem Datenspeicher-Agenten aus dem vorherigen Schritt verknüpfen.
  2. Optional: Setzen Sie ein Häkchen in das Kästchen Protokollierung von Suchanfragen von Kundenservicemitarbeitern deaktivieren, um anzugeben, ob Google entfernte Suchanfragen erfassen und speichern soll, um die Qualität zu verbessern.
  3. Mit dem Kästchen Unterhaltungserweiterte Suchanfrage aktivieren können Sie angeben, ob der Unterhaltungskontext zwischen dem Kundenservicemitarbeiter und dem Nutzer bei der Generierung der Antwort für die Suchanfrage berücksichtigt werden soll.

Über API erstellen

In den folgenden Schritten wird gezeigt, wie Sie ein ConversationProfile mit einem HumanAgentAssistantConfig-Objekt erstellen. Sie können diese Aktionen auch über die Agent Assist-Konsole ausführen.

Wenn Sie ein Unterhaltungsprofil erstellen möchten, rufen Sie die Methode „create“ für die Ressource ConversationProfile auf.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:
  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION_ID: die ID für Ihren Standort
  • AGENT_ID: Ihre Data Store-Kundenservicemitarbeiter-ID aus dem vorherigen Schritt
Hier ein JSON-Beispiel:
  {
    "displayName": "my-conversation-profile-display-name",
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [
          {
            "suggestionFeature": {
              "type": "KNOWLEDGE_SEARCH"
            },
            "queryConfig": {
              "dialogflowQuerySource": {
                "humanAgentSideConfig": {
                  "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID"
                }
              }
            },
            "disableAgentQueryLogging": false,
            "enableConversationAugmentedQuery": false,
          }
        ]
      }
    }
  }
      

Wenn Sie ein Unterhaltungsprofil in der Agent Assist Console erstellen, aktiviert Agent Assist automatisch sowohl den generativen Wissensassistenten als auch den proaktiven generativen Wissensassistenten. Wenn Sie proaktive generative Wissenshilfe deaktivieren möchten, müssen Sie Ihr Unterhaltungsprofil mit der API erstellen.

Schritt 2: Datenspeicher-Agent verwenden

Optional kannst du die SearchKnowledge API verwenden, um die Antworten vom Datenspeicher-Agenten abzurufen. Sie können auch die folgenden Konfigurationen als Teil Ihrer SearchKnowledge-Anfrage verwenden:

  • querySource: In diesem Feld wird angegeben, ob ein Kundenservicemitarbeiter die Suchanfrage eingegeben oder ob sie automatisch vom proaktiven generativen Wissensassistenten vorgeschlagen wurde.
  • exactSearch: Legen Sie in diesem Feld fest, ob die genaue Eingabeabfrage ohne Abfrageumschreibung gesucht werden soll.
  • endUserMetadata: Geben Sie in diesem Feld zusätzliche Informationen zum Endnutzer an, die die generierte Antwort verbessern. Weitere Informationen finden Sie auf der Seite Personalisierung der Leistung von Data Store-Kundenservicemitarbeitern.
  • searchConfig: Legen Sie dieses Feld fest, um Wissensdokumente zu optimieren und zu filtern. Weitere Informationen finden Sie auf der Seite Konfiguration der Suche nach der Leistung von Data Store-Agents.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION_ID: die ID für Ihren Standort
  • CONVERSATION_PROFILE_ID: die ID Ihres Unterhaltungsprofils aus dem vorherigen Schritt
  • SESSION_ID: die ID Ihrer Suchsitzung
  • Der Suchverlauf derselben Sitzung kann sich auf das Suchergebnis auswirken. Sie können die Unterhaltungs-ID unten als Sitzungs-ID verwenden.
  • CONVERSATION_ID: Die Unterhaltung (zwischen Kundenservicemitarbeiter und Endnutzer), bei der die Suchanfrage ausgelöst wird.
  • MESSAGE_ID: die letzte Unterhaltungsnachricht, wenn die Suchanfrage ausgelöst wird

Hier ist eine Beispiel-JSON-Anfrage:

{
  "parent": "projects/PROJECT_ID/locations/LOCATION_ID"
  "query": {
    "text": "What is the return policy?"
  }
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID"
  "sessionId": "SESSION_ID
  "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID"
  "latestMessage": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID
  "querySource": AGENT_QUERY
  "exactSearch": false
  "searchConfig": {
    "filterSpecs": {
      "filter": "category: ANY(\"persona_B\")"
    }
  }
  "endUserMetadata": {
    "deviceOwned": "Google Pixel 7"
  }
}

Optional können Sie die Namen der Ressourcen conversation und latest_message angeben, wenn die Suche des Kundenservicemitarbeiters während einer Unterhaltung mit einem Nutzer erfolgt. Diese beiden Felder sind erforderlich, wenn Sie die Option enable_conversation_augmented_query aktivieren und die Antwort auf die Suchanfrage mit dem Konversationskontext zwischen Ihrem Kundenservicemitarbeiter und dem Nutzer verbessern möchten.

Simulator

Testen Sie Ihren Datenspeicher-Agenten im Agent Assist-Simulator.

Im vorherigen Beispiel antwortet der Datenspeicher-Agent auf die Nutzerabfrage What is the refund processing time? mit den folgenden Informationen:

  • Von dem Zeitpunkt an, an dem das Paket mit Ihrer Rücksendung im Rücksendezentrum des Verkäufers eingeht, kann die Bearbeitung bis zu sieben weitere Arbeitstage dauern. Sie können den Status Ihrer Erstattung anhand der Rücksende-Sendungsnummer auf Ihrer Bestellseite prüfen.
  • Der Titel des relevanten Wissensdokuments: Rückgaben und Erstattungen.

Proaktiv Fragen und Antworten für Ihre Kundenservicemitarbeiter vorschlagen

Proaktive generative Wissensunterstützung verfolgt eine laufende Unterhaltung und macht proaktiv Vorschläge für Suchanfragen und Antworten.

Schritt 1: Unterhaltungsprofil erstellen

Erstellen Sie ein Unterhaltungsprofil mit der Agent Assist Console oder der API. Wir empfehlen, ein Unterhaltungsprofil über die Agent Assist Console zu erstellen.

Über die Console erstellen

  1. Aktivieren Sie den Vorschlagstyp Generative Knowledge Assistant und verknüpfen Sie ihn mit dem Datenspeicher-Agenten aus dem vorherigen Schritt. So kann der Data Store-Agent proaktiv Suchanfrage- und Antwortvorschläge machen und manuelle Suchanfragen von Ihren Kundenservicemitarbeitern beantworten.
  2. Optional: Wenn Sie das Kästchen Alle vorgeschlagenen Suchanfragen für Unterhaltung anzeigen aktivieren, werden dem Data Store-Kundenservicemitarbeiter alle diese Suchanfragen angezeigt, auch wenn in Ihren Wissensdokumenten keine Antwort gefunden wurde. Damit können Sie testen, welche Suchanfragen aus der laufenden Unterhaltung abgerufen werden können.
  3. Optional: Wenn Sie nur Suchanfragevorschläge erhalten möchten, setzen Sie ein Häkchen in das Kästchen Proaktive Antworten asynchron laden. Sie können die vorgeschlagene Suchanfrage manuell an die SearchKnowledge API senden und automatisch im Konsolensimulator und in den UI-Modulen von Agent Assist.

Über API erstellen

In den folgenden Schritten wird ein ConversationProfile mit einem HumanAgentAssistantConfig-Objekt erstellt. Sie können diese Aktionen auch über die Agent Assist-Konsole ausführen.

Wenn Sie ein Unterhaltungsprofil erstellen möchten, rufen Sie die Methode „create“ für die Ressource ConversationProfile auf.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:
  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION_ID: die ID für Ihren Standort
  • AGENT_ID: Ihre Data Store-Kundenservicemitarbeiter-ID aus dem vorherigen Schritt
Hier ein JSON-Beispiel:
  {
    "displayName": "my-conversation-profile-display-name",
    "humanAgentAssistantConfig": {
      "humanAgentSuggestionConfig": {
        "featureConfigs": [
          {
            "suggestionFeature": {
              "type": "KNOWLEDGE_ASSIST"
            },
            "queryConfig": {
              "dialogflowQuerySource": {
                "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID"
              }
            },
            "enableQuerySuggestionWhenNoAnswer": false,
          }
        ]
      }
    }
  }
      

Schritt 2: Unterhaltungen während der Laufzeit verarbeiten

Proaktive generative Wissensunterstützung verarbeitet Unterhaltungen zur Laufzeit, um proaktiv Suchanfragevorschläge basierend auf dem aktuellen Unterhaltungskontext und der Antwort zu machen.

Unterhaltung erstellen

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

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder 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

Nutzer als Teilnehmer erstellen

Fügen Sie der Unterhaltung Nutzer- und Kundenservicemitarbeiter als Teilnehmer hinzu, um Vorschläge zu sehen. Fügen Sie der Unterhaltung zuerst einen Nutzer als Teilnehmer hinzu:

REST

Rufen Sie zum Erstellen eines Nutzers 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 Nutzer.

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder 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

Kundenservicemitarbeiter als Teilnehmer erstellen

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

REST

Rufen Sie zum Erstellen eines 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

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder 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 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. Der Data Store-Kundenservicemitarbeiter stützt seine Vorschläge auf die Analyse von Nachrichten von menschlichen Kundenservicemitarbeitern und Nutzern. Im folgenden Beispiel beginnt der Kundenservicemitarbeiter das Gespräch mit der Frage: „Wie kann ich Ihnen helfen?“

In der Antwort werden noch keine Vorschläge zurückgegeben.

REST

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 in den folgenden Anfragedaten:

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

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

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

def analyze_content_text(
    project_id: str, conversation_id: str, participant_id: str, text: str
):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Analyze text message content from a participant.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant_id: Id of the participant.
        text: the text message that participant typed."""

    client = dialogflow.ParticipantsClient()
    participant_path = client.participant_path(
        project_id, conversation_id, participant_id
    )
    text_input = {"text": text, "language_code": "en-US"}
    response = client.analyze_content(
        participant=participant_path, text_input=text_input
    )
    print("AnalyzeContent Response:")
    print(f"Reply Text: {response.reply_text}")

    for suggestion_result in response.human_agent_suggestion_results:
        if suggestion_result.error is not None:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    for suggestion_result in response.end_user_suggestion_results:
        if suggestion_result.error:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    return response

Nachricht des Nutzers mit Vorschlägen hinzufügen

Der Nutzer antwortet dem Kundenservicemitarbeiter: „Wann erhalte ich meine Erstattung für die Rückgabe?“ Dieses Mal enthält die API-Antwort eine vorgeschlagene Suchanfrage und die Antwort der generativen KI, die auf den Wissensdokumenten basiert.

REST

Wenn Sie eine Nutzernachricht 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 in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • 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": "When can I get my return refund?",
    "languageCode": "en-US"
  }
}

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

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

{
  "message": {
    "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID",
    "content": "When can I get my return refund?",
    "languageCode": "en-US",
    "participant": "PARTICIPANT_ID",
    "participantRole": "END_USER",
    "createTime": "2020-02-13T00:07:35.925Z"
  },
  "humanAgentSuggestionResults": [
    {
      "suggestKnowledgeAssistResponse": {
        "knowledgeAssistAnswer": {
          "suggestedQuery": {
            "queryText": "Refund processing time"
          },
          "suggestedQueryAnswer": {
            "answerText": "After your return is processed, you receive your refund in 7 days. The refund amount should be for the full value of the items returned, but doesn't include shipping & service fees.",
            "generativeSource": {
              "snippets": [
                {
                  "title": "Returns & refunds - Help",
                  "uri": "https://example.com/",
                  "text": "When the package with your return arrives at the seller's return center, it may take up to 7 additional business days to process. Check the status of your refund with the return tracking number found on your orders page."
                }
              ]
            },
          },
          "answerRecord": "projects/PROJECT_ID/answerRecords/ANSWER_RECORD_ID"
        },
      }
    }
  ]
}

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

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

def analyze_content_text(
    project_id: str, conversation_id: str, participant_id: str, text: str
):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Analyze text message content from a participant.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant_id: Id of the participant.
        text: the text message that participant typed."""

    client = dialogflow.ParticipantsClient()
    participant_path = client.participant_path(
        project_id, conversation_id, participant_id
    )
    text_input = {"text": text, "language_code": "en-US"}
    response = client.analyze_content(
        participant=participant_path, text_input=text_input
    )
    print("AnalyzeContent Response:")
    print(f"Reply Text: {response.reply_text}")

    for suggestion_result in response.human_agent_suggestion_results:
        if suggestion_result.error is not None:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    for suggestion_result in response.end_user_suggestion_results:
        if suggestion_result.error:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    return response

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: 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 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

Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.

Richten Sie zur Authentifizierung bei Vertex AI Agent Builder 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

Simulator

Sie können Ihren Datenspeicher-Agenten im Agent Assist-Simulator testen.

Im vorherigen Beispiel macht der Datenspeicher-Agent die folgenden Vorschläge:

  • Vorgeschlagene Suchanfrage: Bearbeitungszeit der Erstattung
  • Gen AI-generierte Antwort: Nachdem Ihre Rücksendung bearbeitet wurde, erhalten Sie die Erstattung innerhalb von 7 Tagen. Der Erstattungsbetrag muss den vollen Wert der zurückgegebenen Artikel abdecken, schließt jedoch Versand- und Servicegebühren nicht ein.
  • Der Titel des relevanten Wissensdokuments: Rückgaben und Erstattungen – Hilfe.

Schritt 3: Pub/Sub-Benachrichtigungen für Vorschläge

Sie können das Feld notificationConfig beim Erstellen eines Unterhaltungsprofils festlegen, um Benachrichtigungen zu Vorschlägen zu erhalten. Bei dieser Option werden über Pub/Sub Benachrichtigungen mit Vorschlägen an Ihre Anwendung gesendet, wenn die Unterhaltung fortgesetzt wird und neue Vorschläge verfügbar sind.

Wenn Sie die Integration über die AnalyzeContent API vornehmen, können Sie die disable_high_latency_features_sync_delivery-Konfiguration in ConversationProfile aktivieren, damit die AnalyzeContent API antwortet, ohne auf die proaktiven Vorschläge der generativen Wissenshilfe zu warten, und die Vorschläge über Pub/Sub sendet.

Sie können diese Konfiguration auch über die Agent Assist-Konsole aktivieren.

Über „Dialogorientierte Insights“ auf Daten zugreifen

Alternativ werden Ihre proaktiven, vom generativen Wissensassistenten generierten Suchanfragen und Antworten automatisch in Conversational Insights eingefügt. Folgen Sie der Anleitung unter Dialogflow-Laufzeitintegration aktivieren, um auf diese Daten zuzugreifen.

Feedback geben

Eine Anleitung zum Senden von Feedback findest du unter Feedback zu Agent Assist geben.

Fragen des Kundenservicemitarbeiters beantworten

Im Folgenden findest du ein Beispiel für eine JSON-Anfrage zum Senden von Feedback zur Beantwortung von Fragen von Kundenservicemitarbeitern.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID",
  "answerFeedback": {
    "displayed": true
    "clicked": true
    "correctnessLevel": "FULLY_CORRECT"
    "agentAssistantDetailFeedback": {
      "knowledgeSearchFeedback": {
        "answerCopied": true
        "clickedUris": [
          "url_1",
          "url_2",
          "url_3",
        ]
      }
    }
  }
}

Proaktiv Fragen und Antworten vorschlagen

Im Folgenden finden Sie ein Beispiel für eine JSON-Anfrage zum Senden von Feedback zu proaktiven Vorschlägen.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID",
  "answerFeedback": {
    "displayed": true
    "clicked": true
    "correctnessLevel": "FULLY_CORRECT"
    "agentAssistantDetailFeedback": {
      "knowledgeAssistFeedback": {
        "answerCopied": true
        "clickedUris": [
          "url_1",
          "url_2",
          "url_3",
        ]
      }
    }
  }
}

Metadaten

Wenn Sie metadata für ein Wissensdokument konfigurieren, geben sowohl die generative Wissensunterstützung als auch die proaktive generative Wissensunterstützung die Metadaten des Dokuments zusammen mit der Antwort zurück.

Sie können beispielsweise mithilfe von Metadaten angeben, ob es sich bei dem Wissensdokument um einen internen privaten Artikel oder einen externen öffentlichen Artikel handelt. Sowohl im Agent Assist-Simulator als auch in den UI-Modulen werden sowohl beim generativen Wissensassistenten als auch beim proaktiven generativen Wissensassistenten automatisch ein Dokumentmetadatenwert für bestimmte Schlüssel angezeigt.

  • gka_source_label: Der Wert wird direkt auf der Vorschlagskarte angezeigt.
  • gka_source_tooltip: Wenn der Wert vom Typ struct ist, wird er in einer Kurzinfo angezeigt, wenn Sie den Mauszeiger auf den Quelllink bewegen.

Wenn Sie die folgenden Metadaten für ein Wissensdokument haben, wird auf der Vorschlagskarte die Quelle als External Doc und in der Kurzinfo doc_visibility: public doc aufgeführt.

Metadaten: None { "title": "Public Sample Doc", "gka_source_label": "External Doc", "gka_source_tooltip": { "doc_visibility": "public doc" } }

Sprachunterstützung

Hier finden Sie eine vollständige Liste der unterstützten Sprachen.