Versions et environnements

Vous pouvez créer plusieurs versions de vos flux d'agent et les déployer dans des environnements de diffusion distincts.

Lorsque vous modifiez un flux, vous modifiez un flux brouillon. Vous pouvez à tout moment enregistrer un flux brouillon en tant que version de flux. Une version de flux est un instantané immuable de vos données de flux et des données de l'agent associées telles que des intents, des entités, des webhooks, des pages, des groupes de routes, etc.

Lorsque vous enregistrez un flux brouillon, il est déployé dans l'environnement par défaut. Lorsque vous créez des versions de flux spécifiques, vous pouvez les déployer dans des environnements personnalisés. Vous pouvez créer différents environnements personnalisés aux fins suivantes :

  • test
  • développement
  • production
  • etc.

En outre, vous pouvez créer des webhooks spécifiques à l'environnement afin d'isoler votre environnement de production des environnements de développement et de test.

Bonnes pratiques concernant le trafic de production

Toujours utiliser les versions de flux pour le trafic de production

Un brouillon de flux est mis à jour chaque fois qu'un développeur de votre équipe effectue des modifications. Un brouillon de flux peut facilement être mis hors service involontairement, en particulier si plusieurs personnes disposent d'un accès en écriture à l'agent. En outre, un brouillon de flux récemment modifié peut être incohérent avec le modèle entraîné, car l'entraînement peut avoir du retard ou nécessiter une exécution manuelle.

Vous devez toujours utiliser des versions de flux pour votre trafic de production. Les brouillons de flux doivent être testés avant d'être promus et passés en production. Vous pouvez effectuer un rollback vers une version précédente si des problèmes sont détectés.

Toujours utiliser des webhooks spécifiques à l'environnement

Lorsque vous mettez à jour votre agent, vous disposez souvent de mises à jour interdépendantes du code de votre webhook. Lors du développement et du test de ces modifications, vous avez besoin des éléments suivants:

  • Pour tester les mises à jour de l'agent par rapport aux mises à jour du code webhook.
  • Pour éviter de déployer votre code de webhook en production tant que vous n'avez pas terminé les tests

L'utilisation de webhooks spécifiques à l'environnement permet d'atteindre ces deux objectifs.

Tenir compte des erreurs potentielles de l'agent lors du changement de version

Si vous modifiez une version de flux dans votre environnement de production pendant que les sessions sont actives, des erreurs d'agent peuvent se produire pour certaines sessions actives. Ces erreurs peuvent se produire si la version précédente et la nouvelle ne sont pas cohérentes entre elles, ce qui perturbe l'état de la session. Pour cette raison, vous devez prévoir de changer de version pendant les temps de pause ou les heures creuses.

Charger une version de flux dans un brouillon

Vous pouvez à tout moment charger une version de flux dans un brouillon, de sorte qu'elle soit modifiable et utilisée par l'environnement par défaut.

Le chargement d'une version de flux dans un brouillon peut mettre à jour plusieurs ressources dans un agent, y compris les ressources au niveau de l'agent, telles que les intents et les entités. Lorsque vous chargez une version dans un brouillon avec la console ou l'API, vous pouvez choisir d'écraser ou non les ressources au niveau de l'agent.

Gérer les versions de flux

Pour gérer vos versions de flux, procédez comme suit :

Console

Pour répertorier les versions actuelles d'un flux, procédez comme suit :

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Cliquez sur l'onglet Gestion.
  5. Cliquez sur Versions.
  6. Les flux d'agent sont répertoriés. Sélectionnez-en un.
  7. Les versions sont répertoriées pour le flux sélectionné.

Les informations suivantes s'affichent pour chaque flux :

  • Nom à afficher : nom à afficher pour la version.
  • ID de version : ID de la version.
  • Type NLU : type NLU pour la version de flux.
  • Horodatage de création : date et heure de création de la version.
  • État : état de l'entraînement. Une version de flux n'est pas prête à être utilisée tant que l'état n'est pas marqué comme Prêt.

Pour créer une version de flux, cliquez sur le bouton Créer et indiquez le nom à afficher et la description de la version.

Pour charger une version de flux spécifique en tant que brouillon de flux, procédez comme suit :

  1. Maintenez le pointeur sur une ligne de version.
  2. Cliquez sur le bouton d'option .
  3. Cliquez sur l'option Charger dans le brouillon.
  4. Une option permet d'écraser les données au niveau de l'agent lors du chargement.

Pour supprimer une version de flux spécifique, procédez comme suit :

  1. Maintenez le pointeur sur une ligne de version.
  2. Cliquez sur le bouton d'option .
  3. Cliquez sur l'option Supprimer la version.

API

Consultez les méthodes pour le type Version.

Sélectionnez un protocole et une version pour la référence de version :

Protocole V3 V3beta1
REST Ressource de version Ressource de version
RPC Interface de version Interface de version
C++ VersionsClient Non disponible
C# VersionsClient Non disponible
Go VersionsClient Non disponible
Java VersionsClient VersionsClient
Node.js VersionsClient VersionsClient
PHP Non disponible Non disponible
Python VersionsClient VersionsClient
Ruby Non disponible Non disponible

Comparer les versions de flux

Une fois que vous avez créé des versions de flux, vous pouvez utiliser l'outil de comparaison des versions pour comparer les versions de flux ou la version de brouillon. Pour comparer les versions, procédez comme suit :

Console

  1. Maintenez le pointeur sur une ligne de version.
  2. Cliquez sur le bouton d'option .
  3. Cliquez sur l'option Comparer les versions.
  4. Sélectionnez une autre version de flux ou un autre flux à utiliser pour la comparaison.
  5. Un comparatif est affiché.

API

Consultez la méthode compareVersions pour le type Version.

Sélectionnez un protocole et une version pour la référence de version :

Protocole V3 V3beta1
REST Ressource de version Ressource de version
RPC Interface de version Interface de version
C++ VersionsClient Non disponible
C# VersionsClient Non disponible
Go VersionsClient Non disponible
Java VersionsClient VersionsClient
Node.js VersionsClient VersionsClient
PHP Non disponible Non disponible
Python VersionsClient VersionsClient
Ruby Non disponible Non disponible

Gérer les environnements

Pour gérer vos environnements d'agent, procédez comme suit :

Console

Pour répertorier les environnements actuels pour un agent, procédez comme suit :

  1. Ouvrez la console Dialogflow CX.
  2. Choisissez votre projet Google Cloud.
  3. Sélectionnez votre agent.
  4. Cliquez sur l'onglet Gestion.
  5. Cliquez sur Environnements.
  6. Les environnements d'agent sont répertoriés.

Pour créer un nouvel environnement, cliquez sur le bouton Créer et fournissez les informations.

Pour sélectionner des versions de flux et configurer un environnement, cliquez sur un environnement et fournissez les informations.

Pour afficher l'historique des modifications d'un environnement, cliquez sur le bouton d'historique situé à droite d'un environnement dans la liste.

Pour copier un nom de ressource d'environnement incluant l'ID d'environnement, cliquez sur le bouton de copie situé à droite d'un environnement dans la liste.

Pour supprimer un environnement, cliquez sur le bouton de suppression situé à droite d'un environnement dans la liste.

API

Consultez les méthodes pour le type Environment.

Sélectionnez un protocole et une version pour la référence de l'environnement :

Protocole V3 V3beta1
REST Ressource d'environnement Ressource d'environnement
RPC Interface de l'environnement Interface de l'environnement
C++ EnvironmentsClient Non disponible
C# EnvironmentsClient Non disponible
Go EnvironmentsClient Non disponible
Java EnvironmentsClient EnvironmentsClient
Node.js EnvironmentsClient EnvironmentsClient
PHP Non disponible Non disponible
Python EnvironmentsClient EnvironmentsClient
Ruby Non disponible Non disponible

Spécifier l'environnement pour les appels de session

À l'aide du simulateur de console ou de l'API, vous pouvez spécifier un environnement lorsque vous effectuez des appels de session au moment de l'exécution. Si aucun environnement n'est spécifié, l'environnement par défaut est utilisé.

Console

Lorsque vous utilisez le simulateur de console, sélectionnez l'option Tester l'agent dans l'environnement, puis sélectionnez un environnement.

API

Pour spécifier un environnement pour les appels REST detectIntent, streamingDetectIntent, matchIntent et d'entité de session, modifiez l'URL en insérant environments/environment-id entre les paramètres de chemin agent et sessions.

Par exemple, l'URL suivante utilise l'ID d'environnement 6db409d7-57ac-41d7-83bd-89b8768e2745:

https://dialogflow.googleapis.com/v3/projects/my-project-id/locations/us/agents/my-agent-id/environments/6db409d7-57ac-41d7-83bd-89b8768e2745/sessions/my-session-id:detectIntent

Spécifier les versions de flux pour les appels de session

À l'aide du simulateur de console ou de l'API, vous pouvez spécifier un ensemble de versions de flux lorsque vous effectuez des appels de session d'exécution. Il n'est pas nécessaire que les versions de flux sélectionnées soient référencées quel que soit l'environnement.

Console

Lorsque vous utilisez le simulateur de console, sélectionnez l'option Tester l'agent avec des versions de flux spécifiques, puis sélectionnez les versions de flux.

API

Pour spécifier des versions de flux pour detectIntent, streamingDetectIntent, matchIntent et les appels REST d'entité de session, indiquez les versions de flux choisies dans le champ query_parameters.flow_versions de la requête.