Agent virtuel Dialogflow

Vous pouvez éventuellement créer une conversation entre un agent virtuel Dialogflow et un utilisateur final. Un agent virtuel tente de résoudre de lui-même des conversations client avant de transmettre le problème à un agent humain. Si vous utilisez Agent Assist sans agent virtuel, les utilisateurs finaux sont envoyés directement aux agents humains sans commencer par interagir avec les agents virtuels comme étape intermédiaire.

Avant de commencer

  1. Consultez la section Principes de base de Dialogflow.
  2. Effectuez la procédure de configuration.
  3. Créez un agent à l'aide de Dialogflow ES ou de Dialogflow CX. Si vous avez l'intention de tester cet agent virtuel à l'aide du simulateur Agent Assist, sachez qu'il doit être un agent Dialogflow ES et qu'il doit également être associé au projet GCP que vous souhaitez utiliser avec la console Agent Assist. Si vous n'avez pas l'intention de tester votre agent virtuel à l'aide du simulateur, celui-ci peut être un agent ES ou CX et peut être associé à n'importe quel projet GCP.

Importer le fichier d'exemple dans l'agent

Dans la mesure où les étapes de ce guide sont fondées sur certaines hypothèses concernant votre agent, vous devez importer un agent préparé pour ce guide. Lors de l'importation, ces étapes utilisent l'option de restauration qui écrase l'ensemble des paramètres, des intents et des entités de l'agent.

Pour importer le fichier, procédez comme suit :

  1. Téléchargez le fichier room-booking-agent.zip.
  2. Accédez à la console Dialogflow ES.
  3. Sélectionnez votre agent.
  4. Cliquez sur le bouton des paramètres à côté du nom de l'agent.
  5. Sélectionnez l'onglet Exporter et importer.
  6. Sélectionnez Restaurer depuis un fichier ZIP et suivez les instructions pour restaurer le fichier ZIP que vous avez téléchargé.

Configurer un agent Dialogflow

Cette section vous explique comment créer et configurer un profil de conversation. Un profil de conversation configure un ensemble de paramètres qui contrôlent les suggestions adressées à un agent au cours d'une conversation.

Créer un profil de conversation

Vous devez créer un profil de conversation avant de pouvoir créer une conversation. Un profil de conversation permet de configurer les agents et les services connectés pour la conversation. Les étapes ci-dessous utilisent l'API pour créer un profil de conversation à l'aide de l'agent Dialogflow que nous avons créé dans les étapes ci-dessus. Vous pouvez également utiliser la console Agent Assist pour créer des profils de conversation.

API REST et ligne de commande

Pour créer un profil de conversation, appelez la méthode create sur la ressource ConversationProfile.

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

  • PROJECT_ID : ID de votre projet GCP

Méthode HTTP et URL :

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversationProfiles

Corps JSON de la requête :

{
  "displayName": "My Contact Center Solution",
  "automatedAgentConfig": {
    "agent": "projects/PROJECT_ID/agent/environments/-"
  }
}

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/conversationProfiles/CONVERSATION_PROFILE_ID",
  "displayName": "My Contact Center Solution",
  "automatedAgentConfig": {
    "agent": "projects/PROJECT_ID/agent/environments/-"
  }
}

Le segment de chemin d'accès indiqué après conversationProfiles contient l'ID du nouveau profil de conversation.

Gérer les conversations lors de l'exécution

Créer une conversation

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

API REST et ligne de commande

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

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

  • PROJECT_ID : ID de votre projet GCP
  • 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/conversations

Corps JSON de la requête :

{
  "conversationProfile": "projects/PROJECT_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/conversations/CONVERSATION_ID",
  "lifecycleState": "IN_PROGRESS",
  "conversationProfile": "projects/PROJECT_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.

Créer un participant

Vous devez à présent ajouter un participant à la conversation. L'utilisateur final est le seul participant que vous devez ajouter à la conversation.

API REST et ligne de commande

Pour créer un participant, appelez la méthode create sur la ressource participants.

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

  • PROJECT_ID : ID de votre projet GCP
  • CONVERSATION_ID: ID de votre conversation

Méthode HTTP et URL :

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_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/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "END_USER"
}

Le segment de chemin d'accès après participants contient le nouvel ID du participant.

Analyser le contenu et obtenir des réponses automatiques

Une fois que vous avez créé un participant de l'utilisateur final, vous pouvez envoyer une entrée de cet utilisateur final à l'API. L'API envoie l'entrée à une requête de détection d'intent et renvoie la réponse.

API REST et ligne de commande

Pour envoyer du texte, appelez la méthode analyzeContent sur la ressource participants.

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

  • PROJECT_ID : ID de votre projet GCP
  • CONVERSATION_ID: ID de votre conversation
  • PARTICIPANT_ID: ID du participant de l'utilisateur final

Méthode HTTP et URL :

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent

Corps JSON de la requête :

{
  "textInput": {
    "text": "I want to book a room",
    "languageCode": "en-US"
  }
}

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

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

{
  "replyText": "I can help with that. Where would you like to reserve a room?",
  "automatedAgentReply": {
    "detectIntentResponse": {
      "responseId": "38e5d378-12e5-453b-9c37-ac6828b86673",
      "queryResult": {
        "queryText": "I want to book a room",
        "action": "room.reservation",
        "parameters": {
          "date": "",
          "duration": "",
          "guests": "",
          "location": "",
          "time": ""
        },
        "fulfillmentText": "I can help with that. Where would you like to reserve a room?",
        "fulfillmentMessages": [
          {
            "text": {
              "text": [
                "I can help with that. Where would you like to reserve a room?"
              ]
            }
          }
        ],
        "intent": {
          "name": "projects/PROJECT_ID/agent/intents/e8f6a63e-73da-4a1a-8bfc-857183f71228",
          "displayName": "room.reservation"
        },
        "intentDetectionConfidence": 0.8,
        "languageCode": "en-us"
      },
      "webhookStatus": {}
    }
  }
}

Terminer la conversation

Une fois la conversation terminée, mettez-y fin pour vous assurer qu'elle est marquée comme done. Les conversations terminées sont effacées après un certain temps.

API REST et ligne de commande

Pour mettre fin à une conversation, appelez la méthode complete sur la ressource conversations.

Avant d'utiliser les données de requête ci-dessous, 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"
}