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
- Consultez la section Principes de base de Dialogflow.
- Effectuez la procédure de configuration.
- 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 :
- Téléchargez le fichier
room-booking-agent.zip
. - Accédez à la console Dialogflow ES.
- Sélectionnez votre agent.
- Cliquez sur le bouton des paramètres settings à côté du nom de l'agent.
- Sélectionnez l'onglet Exporter et importer.
- 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éthodecreate
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éthodecreate
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éthodecreate
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éthodeanalyzeContent
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éthodecomplete
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" }