Les agents de conversation (Dialogflow CX) s'intègrent à GitHub. Cette intégration vous permet d'exporter facilement votre agent au format JSON pour une importation sur GitHub, et d'extraire des données depuis GitHub pour une restauration de l'agent. Le format JSON exporté vers GitHub correspond au contenu du fichier ZIP développé de l'agent exporté.
Cette fonctionnalité vous permet de profiter des fonctionnalités de contrôle des sources GitHub, comme:
- Examen des modifications apportées par l'agent à l'aide d'outils d'examen du code
- Examiner les différences entre les agents à l'aide d'outils de comparaison
- Fusions
- Et ainsi de suite
Limites
Les limites suivantes s'appliquent :
- GitHub applique une limite de débit au nombre de requêtes par heure (5 000 pour les comptes non professionnels et 15 000 pour les comptes professionnels). Si votre push d'agent dépasse cette limite, la console Dialogflow CX signale l'erreur de limite de débit. Vous pouvez réessayer l'envoi après une heure.
- Les API GitHub limitent le nombre de fichiers pouvant être mis à jour dans un seul commit. Si le nombre de fichiers dépasse 500, vous ne pourrez peut-être pas effectuer de transfert vers GitHub à partir des agents conversationnels (Dialogflow CX). Dans ce cas, vous pouvez exporter
l'agent en tant que fichier ZIP et utiliser la CLI Git sur votre machine pour transférer les fichiers de l'agent vers GitHub. Cette limitation sera levée dans une prochaine version des agents conversationnels (Dialogflow CX). - Les dépôts hébergés à accès privé ne sont pas acceptés, car les agents de conversation (Dialogflow CX) ne peuvent pas y accéder.
- Le dépôt GitHub ne peut contenir que les fichiers d'agent exportés par l'exportation d'agent. Tous les autres fichiers du dépôt seront supprimés à chaque transfert.
Configuration
Pour configurer cette intégration:
- Ouvrez la console Dialogflow CX.
- Choisissez votre projet Google Cloud.
- Sélectionnez votre agent.
- Cliquez sur l'onglet Gestion.
- Cliquez sur Git dans la section Test et déploiement.
- Cliquez sur Ajouter l'intégration Git. Une boîte de dialogue de configuration s'ouvre.
- Saisissez ce qui suit :
- Nom à afficher pour la connexion GitHub.
- URL du dépôt GitHub (par exemple,
https://api.github.com/repos/<repository_owner>/<repository_name>
). - Ajoutez les branches GitHub avec lesquelles votre agent interagira. Vous pouvez désigner une branche comme branche par défaut en cliquant sur l'icône en forme d'étoile à côté d'elle.
- Le jeton d'accès personnel GitHub ne peut pas être consulté une fois défini. Seules les mises à jour sont prises en charge.
Si vous utilisez un jeton d'accès personnel précis, vous devez disposer des autorisations suivantes :
- Autorisations du dépôt > Contenus: lecture et écriture
- Autorisations de dépôt > Métadonnées: lecture seule (doit être sélectionné automatiquement après avoir sélectionné l'autorisation de contenu)
- Cliquez sur Se connecter.
Vous pouvez modifier cette configuration à tout moment en cliquant sur l'icône de modification.
Push et restauration
Une fois configuré, vous pouvez pousser/extraire votre agent vers/depuis GitHub.
Le bouton Push permet d'exporter votre agent et de valider la branche GitHub sélectionnée dans le menu déroulant de la branche Git. Ce commit consistera en l'ensemble de l'agent et non en modifications spécifiques, et supprimera tous les fichiers existants du dépôt.
Pour les nouveaux dépôts, assurez-vous qu'il existe au moins un commit GitHub avant d'utiliser l'option de transfert dans la console Dialogflow CX.
Les utilisateurs disposant des rôles Lecteur Dialogflow peuvent effectuer des transferts vers des dépôts GitHub. Pour éviter les transferts indésirables, configurez ces agents avec des jetons d'accès personnels en lecture seule.
Le bouton Restore (Restaurer) permet d'extraire les données de votre agent à partir de la branche GitHub sélectionnée dans le menu déroulant de la branche Git, puis de restaurer votre agent Conversational Agents (Dialogflow CX) à partir de ces données. Votre agent sera écrasé de la même manière que toute restauration d'agent.
Exemple d'utilisation
L'exemple suivant montre comment plusieurs personnes peuvent utiliser cette fonctionnalité pour proposer différentes modifications d'agent à un agent de production.
Supposons que votre agent utilise les branches GitHub suivantes:
- Prod: branche de votre agent de production
- Dev1: branche de développement de l'agent
- Dev2: autre branche pour le développement d'agents
L'utilisateur 1 souhaite proposer des modifications d'agents et procède comme suit:
- Exportez l'agent de production vers un nouvel agent.
- Apportez les modifications souhaitées à ce texte d'agent.
- Testez les modifications.
- Transférez l'agent modifié vers la branche Dev1.
- Créez une demande de fusion pour la branche Prod.
L'utilisateur 2 souhaite proposer des modifications d'agents et procède comme suit:
- Exportez l'agent de production vers un nouvel agent.
- Apportez les modifications souhaitées à ce texte d'agent.
- Testez les modifications.
- Transférez l'agent modifié vers la branche Dev2.
- Créez une demande de fusion pour la branche Prod.
L'utilisateur 3 examine les demandes de fusion des deux utilisateurs et effectue les étapes suivantes:
- Résolvez les conflits.
- Committe les modifications approuvées.
- Restaure la branche GitHub de production dans l'agent Conversational AI (Dialogflow CX) de production.