Si vous n'utilisez pas d'intégration, vous devez écrire du code pour interagir avec les utilisateurs finaux. Pour chaque tour de conversation, votre code appelle l'API Dialogflow pour interroger votre agent. Ce guide vous explique comment interagir avec un agent en utilisant l'API REST sur la ligne de commande et en utilisant les bibliothèques clientes.
Avant de commencer
Si vous ne prévoyez pas d'utiliser l'API, vous pouvez ignorer ce guide de démarrage rapide.
Avant de lire ce guide, procédez comme suit :
- Apprenez les principes de base de Dialogflow.
- Effectuez la procédure de configuration.
- Suivez la procédure décrite dans le guide de démarrage rapide Créer un agent.
Les étapes ci-dessous continuent d'utiliser l'agent que vous avez lancé dans ce guide.
Si vous n'avez plus cet agent, vous pouvez télécharger
build-agent-quickstart.zip
et importer le fichier.
Sessions
Une session représente une conversation entre un agent Dialogflow et un utilisateur final. Vous créez une session au début d'une conversation et vous l'utilisez pour chaque tour de conversation. Une fois la conversation terminée, vous arrêtez d'utiliser cette session.
N'utilisez pas la même session pour des conversations simultanées avec différents utilisateurs finaux. Dialogflow gère les contextes actifs pour chaque session active. Les données de session sont stockées par Dialogflow pendant 20 minutes.
Chaque session est déterminée de manière unique par un ID de session généré par votre système. Vous créez une session en transmettant un nouvel ID de session dans une requête de détection d'intent. Un ID de session est une chaîne de caractères d'une taille maximale de 36 octets. Votre système est chargé de générer des ID de session uniques. Il peut s'agir de nombres aléatoires, d'ID d'utilisateurs finaux hachés ou de toute autre valeur que vous pouvez facilement générer.
Détecter un intent
Lorsque vous gérez les interactions à l'aide de l'API, votre service interagit directement avec l'utilisateur final.
Pour chaque tour de conversation, votre service envoie les expressions de l'utilisateur final à Dialogflow en appelant la méthode detectIntent
ou streamingDetectIntent
du type Sessions
.
Dialogflow répond en envoyant des informations sur l'intent correspondant, l'action, les paramètres et la réponse définie pour l'intent.
Votre service effectue les actions requises (par exemple des requêtes de base de données ou des appels d'API externes) et envoie un message à l'utilisateur final.
Ce processus se poursuit jusqu'à la fin de la conversation.
Les exemples suivants montrent comment détecter un intent. Chaque exemple accepte un sous-ensemble des entrées suivantes :
- ID du projet : utilisez l'ID de projet créé dans la procédure de configuration.
- ID de session : pour tester un agent, vous pouvez utiliser n'importe quel élément. "123456789" est fréquemment utilisé dans les exemples.
- Texte ou données textuelles : il s'agit de l'expression ou de la liste d'expressions de l'utilisateur final. Si plusieurs expressions sont fournies, les appels de l'exemple de code détectent l'intent pour chaque expression. Essayez "Je connais le français".
- Code de langue : code de langue de l'expression de l'utilisateur final. Utilisez "en-US" "pour cet exemple d'agent.
REST
Pour détecter l'intent, appelez la méthodedetectIntent
sur la ressource Sessions
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- SESSION_ID : un ID de session
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/SESSION_ID:detectIntent
Corps JSON de la requête :
{ "query_input": { "text": { "text": "I know french", "language_code": "en-US" } } }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "responseId": "856510ca-f617-4e25-b0bb-a26c0a59e030-19db3199", "queryResult": { "queryText": "I know french", "parameters": { "language": "French", "language-programming": "" }, "allRequiredParamsPresent": true, "fulfillmentText": "Wow! I didn't know you knew French. How long have you known French?", "fulfillmentMessages": [ { "text": { "text": [ "Wow! I didn't know you knew French. How long have you known French?" ] } } ], "outputContexts": [ { "name": "projects/PROJECT_ID/agent/sessions/123456789/contexts/set-language-followup", "lifespanCount": 2, "parameters": { "language": "French", "language.original": "french", "language-programming": "", "language-programming.original": "" } } ], "intent": { "name": "projects/PROJECT_ID/agent/intents/fe45022f-e58a-484f-96e8-1cbd6628f648", "displayName": "set-language" }, "intentDetectionConfidence": 1, "languageCode": "en" } }
Tenez compte des points suivants concernant la réponse :
- Le champ
queryResult.intent
contient l'intent correspondant. - La valeur du champ
queryResult.fulfillmentMessages
contient la réponse de l'intent. Il s'agit de la réponse que votre système doit transmettre à l'utilisateur final. - La valeur du champ
queryResult.parameters
contient les paramètres extraits de l'expression de l'utilisateur final. - Le champ
queryResult.outputContext
contient le contexte actif.
Go
Pour vous authentifier auprès de Dialogflow, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour vous authentifier auprès de Dialogflow, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour vous authentifier auprès de Dialogflow, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour vous authentifier auprès de Dialogflow, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langues supplémentaires
C# : Veuillez suivre les instructions de configuration de C# sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Dialogflow pour .NET.
PHP : Veuillez suivre les instructions de configuration pour PHP sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Dialogflow pour PHP.
Ruby : Veuillez suivre les instructions de configuration de Ruby sur la page des bibliothèques clientes, puis consultez la documentation de référence sur Dialogflow pour Ruby.
Passage en production
Avant d'exécuter votre agent en production, veillez à mettre en œuvre les bonnes pratiques pour le passage en production.