Agent Assist virtuel

Ce guide d'utilisation vous explique comment activer la fonctionnalité Virtual Agent Assist en appelant directement l'API. L'assistant Virtual Agent Assist suit la conversation et utilise un agent virtuel Dialogflow pour aider les agents humains dans leurs tâches et détecter les intentions pour l'analyse des données.

Si vous préférez, vous pouvez utiliser la console Agent Assist pour entraîner un modèle et tester ses performances à l'aide du simulateur. Pour obtenir des instructions, consultez le tutoriel sur la console Virtual Agent Assist.

Avant de commencer

Avant de pouvoir activer Virtual Agent Assist, vous devez avoir implémenté une ou plusieurs fonctionnalités Agent Assist à utiliser avec l'agent virtuel. Les fonctionnalités Réponse suggérée, Assistance pour les questions fréquentes, Suggestion d'articles et Rédaction intelligente peuvent être utilisées seules avec l'assistance d'agent virtuel ou dans n'importe quelle combinaison. Les liens suivants vous redirigent vers la documentation correspondante pour obtenir des informations sur l'implémentation.

Créer une conversation

Lorsqu'un dialogue commence entre un utilisateur final et un agent humain ou virtuel, vous créez une conversation. Pour afficher les suggestions, vous devez également créer un participant utilisateur final et un participant d'agent humain, puis les ajouter à la conversation. Les sections suivantes vous guident tout au long de ce processus.

Vous devez d'abord créer une conversation:

REST

Pour créer une conversation, appelez la méthode create sur la ressource Conversation.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Cloud
  • LOCATION_ID : ID de votre emplacement
  • CONVERSATION_PROFILE_ID: ID obtenu lors de la création du profil de conversation

Méthode HTTP et URL :

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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"
}

Le segment de chemin d'accès après conversations contient le nouvel ID de la conversation.

Python

Pour vous authentifier auprès d'Agent Assist, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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

Créer un participant d'utilisateur final

Vous devez ajouter à la conversation des participants à la fois à l'utilisateur final et à l'agent humain pour voir les suggestions. Commencez par ajouter le participant de l'utilisateur final à la conversation:

REST

Pour créer un participant d'utilisateur final, appelez la méthode create sur la ressource Participant.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Cloud
  • LOCATION_ID : ID de votre emplacement
  • CONVERSATION_ID: ID de votre conversation

Méthode HTTP et URL :

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

Corps JSON de la requête :

{
  "role": "END_USER",
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "END_USER"
}

Le segment de chemin d'accès indiqué après participants contient le nouvel ID de participant de l'utilisateur final.

Python

Pour vous authentifier auprès d'Agent Assist, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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

Créer un participant d'agent humain

Pour ajouter un participant d'agent humain à la conversation:

REST

Pour créer un participant d'agent humain, appelez la méthode create sur la ressource Participant.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Cloud
  • LOCATION_ID : ID de votre emplacement
  • CONVERSATION_ID: ID de votre conversation

Méthode HTTP et URL :

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

Corps JSON de la requête :

{
  "role": "HUMAN_AGENT",
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "HUMAN_AGENT"
}

Le segment de chemin d'accès indiqué après participants contient l'ID du nouveau participant de votre agent humain.

Python

Pour vous authentifier auprès d'Agent Assist, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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

Ajouter un message de l'utilisateur final et recevoir des suggestions

Pour ajouter et analyser un message d'utilisateur final pour la conversation, appelez la méthode analyzeContent sur la ressource Participant. La réponse inclut un champ dialogflowAssistAnswers contenant les données suivantes :

  • fulfillmentText : contient une réponse suggérée. Vous pouvez configurer votre système pour qu'il présente cette suggestion à l'agent humain.
  • answer record : ID unique de la suggestion.

Sélectionnez la suggestion.

Lorsqu'un agent humain reçoit une suggestion, il peut l'accepter telle quelle ou la modifier avant de la transmettre à l'utilisateur final. Pour sélectionner une suggestion, appelez à nouveau analyzeContent en utilisant le participant de l'agent humain. Définissez le champ suggestionInput sur les paramètres sélectionnés et indiquez le answer record que vous avez reçu précédemment. Le champ text override doit contenir le texte réel envoyé à l'utilisateur final. Voici un exemple de configuration du champ suggestionInput :

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

Terminer la conversation

À la fin de la conversation, utilisez l'API pour la terminer.

REST

Pour terminer la conversation, appelez la méthode complete sur la ressource conversations.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet GCP
  • CONVERSATION_ID: ID obtenu lors de la création de la conversation

Méthode HTTP et URL :

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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

Pour vous authentifier auprès d'Agent Assist, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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