Article original : How to Build a RAG Chatbot with Agent Cloud and Google Sheets
Yellow-Gradient-Make-Design-Blog-Banner--73-.png tags:
- name: Intelligence Artificielle slug: intelligence-artificielle
- name: '#chatbots' slug: chatbots
name: 'LLM''s ' slug: llms seo_title: null seo_desc: 'Les entreprises d''aujourd''hui sont des usines à données. Chaque interaction, transaction, et processus interne génère un flux constant d''informations.
Ces données ont une immense valeur, promettant d''améliorer la prise de décision, de rationaliser les opérations et de déverrouiller des informations profondes sur les clients...'
Les entreprises d'aujourd'hui sont des usines à données. Chaque interaction, transaction et processus interne génère un flux constant d'informations.
Ces données ont une immense valeur, promettant d'améliorer la prise de décision, de rationaliser les opérations et de déverrouiller des informations profondes sur les clients.
Mais les données restent souvent cloisonnées et inaccessibles. Elles peuvent être réparties dans différents départements et systèmes, et il peut être difficile de les comprendre et de les utiliser efficacement.
C'est là qu'intervient la technologie de génération augmentée par récupération (RAG). En combinant la puissance des techniques basées sur la récupération et des outils modernes d'IA générative, vous pouvez construire des applications de chat de génération augmentée par récupération (RAG) qui vous permettent d'interagir avec vos données en utilisant une simple interface de chat.
Qu'est-ce que la génération augmentée par récupération (RAG) ?
Mais avant de pouvoir discuter de vos données, beaucoup de "travail préparatoire" est nécessaire. La mise en place de l'infrastructure - le pipeline, la base de données vectorielle, le courtier de messages et la récupération des connaissances - est un processus complexe et chronophage. C'est là qu'intervient l'outil open source Agent Cloud.
Dans ce guide, vous apprendrez tout sur Agent Cloud et ce qu'il peut faire. Nous commencerons par examiner quelques informations de base et les problèmes actuels que nous traitons. Ensuite, nous verrons comment Agent Cloud peut aider à les résoudre.
Comment j'ai commencé à travailler avec Agent Cloud
Je suis passionné par les nouvelles technologies et les outils pour développeurs, et je me situe quelque part entre le marketing produit, la croissance et la défense des développeurs. Je me spécialise dans la création de contenu écrit technique de haute qualité à des fins éducatives.
Je suis impliqué dans le web depuis ~14 ans, les 4 dernières années ayant été documentées en détail sur mon site web.
J'aimais être ingénieur logiciel, mais ce que j'aime vraiment faire, c'est coder, concevoir, développer et puis écrire.
Plus tôt cette année, j'ai rencontré Andrew (fondateur d'Agent Cloud) dans un groupe Slack privé. Il cherchait quelqu'un qui pouvait non seulement écrire sur le produit, mais aussi discuter et enseigner aux gens ce qu'ils construisent. Je l'ai contacté, et après deux rounds de discussions, nous avons commencé à travailler ensemble.

J'ai commencé par construire quelques chatbots RAG sympas en local et j'ai ensuite écrit un couple de guides complets sur "Comment construire un chatbot RAG avec Agent Cloud".
Dans cet article, je vais vous apprendre à construire une application de chat RAG en utilisant Agent Cloud pour discuter de manière privée et sécurisée avec vos données Google Sheets. Je vais également parler de pourquoi je pense qu'Agent Cloud est un bon outil de développement open source.
Table des matières :
- Qu'est-ce qu'Agent Cloud ?
- Qu'est-ce que RAG ?
- Défis de la construction d'un chatbot RAG sans Agent Cloud
- Prérequis
- Comment installer Agent Cloud via Docker
- Comment ajouter des modèles dans Agent Cloud
- Comment créer votre clé de compte de service GCP
- Comment activer l'API Google Sheets
- Comment configurer vos sources de données
- Comment configurer les outils
- Comment configurer un agent
- Comment créer une tâche
- Comment configurer votre application
- Conclusion
Qu'est-ce qu'Agent Cloud ?
Agent Cloud est une plateforme open-source qui vous permet de construire des applications de chat privées et sécurisées alimentées par de grands modèles de langage (pensez à ChatGPT).
Elle rationalise ce processus en fournissant une offre "RAG en tant que service" et un pipeline intégré qui vous permet de diviser, de segmenter et d'intégrer des données provenant de plus de 300 sources (y compris Google Sheets, Salesforce, Atlassian Confluence, BigQuery, MongoDB, Postgres Data, SharePoint et OneDrive).
Sources de données
Qu'est-ce que la génération augmentée par récupération ?
RAG est un processus pour améliorer la précision des grands modèles de langage. Il le fait grâce à la récupération à la demande de données externes et en injectant du contexte dans le prompt, au moment de l'exécution.
Ces données peuvent provenir de diverses sources, telles que la documentation ou les pages web de vos clients (par grattage), et les données ou documents de dizaines (sinon de centaines) d'applications tierces comme leurs bases de données, Google BigQuery, HubSpot, Google Ads, Google Analytics 4 (GA4) et ainsi de suite.
Pour ceux qui souhaitent approfondir la génération augmentée par récupération et comprendre ses applications et son importance plus larges, je recommande vivement de lire ce blog complet de NVIDIA. Il offre des informations et un contexte précieux qui complètent les aspects pratiques abordés dans cet article.
Défis de la construction d'un chatbot RAG sans Agent Cloud
Si vous travaillez avec ces outils d'IA au quotidien, il devient facile de comprendre la valeur qu'ils apportent et de réaliser l'importance d'Agent Cloud dans la simplification du processus de développement de chatbots.
Mais pour apprécier pleinement ses avantages, vous devez comprendre comment le développement de chatbots était géré avant que de tels outils ne soient disponibles.
Avant des outils comme Agent Cloud, créer un chatbot RAG (Retrieval-Augmented Generation) était une tâche ardue et gourmande en ressources. Vous deviez intégrer manuellement divers composants, ce qui nécessitait une expertise significative dans plusieurs domaines.
Voici quelques défis rencontrés et les solutions que l'équipe d'Agent Cloud a dû concevoir :
Récupération et gestion des données :
Liste des sources de données
- Problème : Garantir que le chatbot pouvait récupérer et gérer efficacement les données provenant de sources comme Google Sheets, les bases de données, etc.
- Sans Agent Cloud : Les développeurs devaient écrire des scripts personnalisés pour la récupération des données, souvent en utilisant des API pour récupérer les données de Google Sheets. Cela impliquait de gérer la mise en forme des données, la vérification des erreurs et les mises à jour en temps réel manuellement. C'était un processus chronophage sujet aux erreurs.
- Solution d'Agent Cloud : Automatise la récupération et la gestion des données, garantissant une intégration fluide et précise avec une intervention manuelle minimale.
Traitement du langage naturel (NLP) :
- Problème : Implémenter le NLP pour comprendre les requêtes des utilisateurs et générer des réponses humaines.
- Sans Agent Cloud : Les développeurs devaient intégrer des moteurs NLP autonomes tels que TensorFlow. Cela nécessitait de former des modèles sur de vastes ensembles de données, de les affiner pour la précision et de les mettre à jour constamment pour gérer efficacement les nouvelles requêtes.
- Solution d'Agent Cloud : Offre des capacités NLP intégrées, réduisant considérablement le temps de configuration et fournissant une compréhension linguistique de haute qualité dès la sortie de la boîte.
Évolutivité et maintenance :
- Problème : Garantir que le chatbot pouvait gérer des charges de données croissantes et des interactions utilisateur.
- Sans Agent Cloud : Construire une architecture évolutive signifiait investir dans une infrastructure serveur robuste, écrire du code efficace et surveiller et maintenir continuellement le système pour gérer la croissance.
- Solution d'Agent Cloud : Conçu pour évoluer sans effort, permettant aux développeurs de se concentrer sur l'amélioration de la fonctionnalité plutôt que sur la gestion de l'infrastructure.
Interaction et expérience utilisateur :
Interface utilisateur de l'application Agent Cloud
- Problème : Créer une interface engageante et conviviale.
- Sans Agent Cloud : Les développeurs devaient construire des interfaces personnalisées, souvent à partir de zéro, ce qui nécessitait des ressources supplémentaires de conception et de développement. Garantir des interactions fluides et une réactivité était un défi majeur.
- Solution d'Agent Cloud : Fournit des modèles préconstruits et des options d'intégration faciles, améliorant l'expérience utilisateur avec un effort minimal.
En comprenant ces défis, vous pouvez voir comment un outil comme Agent Cloud aide le processus de construction de chatbots RAG. Il aborde les points de douleur de la gestion manuelle des données, de l'intégration complexe du NLP, des problèmes d'évolutivité et de la conception de l'interface utilisateur, fournissant une solution tout-en-un qui économise du temps et des ressources.
Prérequis
Vous n'avez besoin d'aucune connaissance préalable des applications de chat RAG ou de Google Sheets pour suivre ce guide, car Agent Cloud gère la division, l'encodage, le stockage et la synchronisation des données. Cela vous permet de vous concentrer sur la discussion avec vos données et l'interprétation des résultats.
Comment installer Agent Cloud via Docker
Tout d'abord, vous devrez installer Docker sur votre système si vous ne l'avez pas déjà. Docker est une plateforme pour exécuter des applications conteneurisées.
Ouvrez votre terminal et exécutez la commande suivante pour cloner le dépôt Agent Cloud depuis GitHub :
git clone https://github.com/rnadigital/agentcloud.git
Utilisez la commande suivante pour vous déplacer dans le répertoire agentcloud nouvellement cloné :
cd agentcloud
Pour exécuter Agent Cloud localement, exécutez cette commande :
chmod +x install.sh && ./install.sh
Cette commande accordera les permissions d'exécution au script install.sh et l'exécutera. Le script téléchargera les images Docker nécessaires et démarrera les conteneurs Agent Cloud dans votre environnement Docker.
Configuration de développement local - Agent Cloud
Une fois le script d'installation terminé avec succès, vous pouvez voir les conteneurs Agent Cloud en cours d'exécution dans l'application Docker.
Services Docker locaux
Une fois que tout est opérationnel, vous pouvez accéder à l'interface utilisateur d'Agent Cloud dans votre navigateur web.
Accédez à l'URL :
http://localhost:3000/register
Cela ouvrira généralement la page d'inscription où vous pouvez créer un compte pour utiliser Agent Cloud.
Page d'inscription - Agent Cloud
Vous pouvez maintenant vous connecter en utilisant les identifiants que vous avez créés lors de l'inscription.
Une fois que vous vous êtes inscrit et connecté avec succès, vous serez accueilli par l'interface utilisateur d'Agent Cloud. Cette interface fournit un hub central pour gérer vos sources de données, agents, tâches, modèles, applications, identifiants, etc.
Écran d'accueil - Agent Cloud
Félicitations ! Vous avez installé Agent Cloud avec succès. Passons maintenant à l'étape suivante et construisons notre application de chat RAG en utilisant Google Sheets comme source de données.
Comment ajouter des modèles dans Agent Cloud
Allez dans l'onglet Modèles dans Agent Cloud. Cliquez sur le bouton Ajouter des Modèles pour ajouter deux types de modèles.
- Un modèle d'intégration rapide est un modèle léger qui s'exécute localement sur votre machine. Il divise et segmente vos données avant de les intégrer.
- OpenAI est un fournisseur populaire de LLM basé sur le cloud.
Écran des modèles - Agent Cloud
Comment créer votre clé de compte de service GCP
Agent Cloud offre deux méthodes d'authentification pour accéder à vos données Google Sheets :
- Google (Auth) - Cette méthode implique l'autorisation directe d'Agent Cloud via votre compte Google.
- Compte de clé de service - Cette approche utilise une clé de service, une identité spécifiquement créée pour l'accès des applications aux services de la plateforme Google Cloud (GCP), y compris Google Sheets.
Pour ce guide, je me concentrerai sur la méthode du compte de clé de service, qui est généralement considérée comme une approche plus sécurisée et rationalisée pour la communication entre applications.
Voici ce dont vous aurez besoin :
- Un projet Google Cloud Platform (GCP) avec l'API Google Sheets activée.
- Une clé de compte de service créée dans votre projet GCP. Cette clé sera utilisée pour authentifier Agent Cloud.
Je vais vous guider à travers la création d'une clé de compte de service dans votre projet GCP et la configuration d'Agent Cloud pour l'utiliser afin d'accéder à vos données Google Sheets.
Tout d'abord, créez un compte Google Cloud Platform. Ensuite, créez un nouveau projet. Vous pouvez donner à votre projet n'importe quel nom que vous préférez.
Comment créer un compte GCP
Accédez à la section "IAM & Admin" et sélectionnez "Comptes de service".
Écran IAM et Admin
Cliquez sur "Créer un compte de service" et fournissez un nom et une description.
Comment ajouter un compte de service
Entrez le nom de votre compte de service et l'ID de service unique, puis cliquez sur Terminé.
Comment créer un compte de service dans GCP
Sous l'onglet actions, cliquez sur l'option gérer les clés.
Projet
Cliquez sur le bouton AJOUTER UNE CLÉ et sélectionnez l'option Créer une clé.
Sélectionnez JSON comme type de clé, puis cliquez sur Créer une nouvelle clé.
Ajouter des clés dans GCP
Sélectionnez JSON comme type de clé, puis cliquez sur Créer. Votre clé JSON de compte de service ou votre clé JSON sera automatiquement téléchargée.
Créer une clé privée dans GCP
Conservez ce fichier en sécurité, nous l'utiliserons plus tard pour l'authentification.
Comment activer l'API Google Sheets
Vous devrez également activer l'API Google Sheets dans votre projet Google Cloud.
Ouvrez le menu de navigation de gauche et accédez à "APIs & Services" puis "Bibliothèque".
APIs et Services dans GCP
Tapez "Google Sheets API" dans la barre de recherche et appuyez sur Entrée.
L'API Google Sheets apparaîtra dans les résultats de recherche. Cliquez dessus.
API Google Sheets
Sur la page des détails de l'API, cliquez sur le bouton "ACTIVER".
Activer l'API Google Sheets
Comment configurer vos sources de données
Agent Cloud vous permet de traiter des données provenant d'une large gamme de sources.
Dans ce guide, j'utiliserai Google Sheets comme source de données. Sheets est une application de feuille de calcul basée sur le web populaire incluse dans Google Workspace. Google Sheets vous permet de créer, modifier et collaborer sur des feuilles de calcul en temps réel.
Pour cet exemple, je travaillerai avec un ensemble de données de plaintes de consommateurs financiers stocké dans une feuille Google Sheets.
Cet ensemble de données contient plusieurs colonnes représentant les étapes clés des ventes et les détails, potentiellement incluant :
- ID de plainte
- Soumis via
- Date de soumission
- Date de réception
- État
- Produit
- Sous-produit
- Problème
- Sous-problème
- Société
- Réponse publique
- Réponse de la société au consommateur
- Réponse en temps opportun ?
Voici comment connecter vos données Google Sheets :
Accédez à l'onglet Sources de données dans l'interface Agent Cloud.
Cliquez sur le bouton étiqueté Nouvelle Connexion. Cela initiéra le processus d'ajout d'une nouvelle source de données.
Écran des sources de données - Agent Cloud
Recherchez et sélectionnez "Google Sheets" comme source de données.
Créer une source de données
J'ai nommé notre source de données Plaintes des consommateurs financiers, que vous pouvez nommer comme vous le souhaitez. Ajoutez une description claire et concise. La synchronisation des données sera manuelle. Cela signifie que vous devrez initier le processus de rafraîchissement des données chaque fois que vous souhaitez que les dernières informations de vos feuilles Google Sheets soient reflétées dans Agent Cloud.
Entrez la taille de lot de lignes appropriée. La taille de lot de lignes signifie combien de lignes sont traitées depuis la feuille Google. Par exemple, la valeur par défaut 200 traiterait les lignes 1-201, puis 201-401, et ainsi de suite.
Choisissez la méthode d'authentification comme "Authentification par clé de compte de service".
Entrez la clé JSON que nous avons téléchargée plus tôt ci-dessus sous le champ Informations du compte de service.
Entrez le lien vers la feuille de calcul Google que vous souhaitez synchroniser. Pour copier le lien, cliquez sur le bouton 'Partager' dans le coin supérieur droit de la feuille de calcul, puis cliquez sur 'Copier le lien'.
Ajout de détails sous la source de données
Cliquez sur le bouton soumettre.
Sélectionnez la collection et les champs que vous souhaitez synchroniser avec la base de données vectorielle et entrez leurs descriptions.
Fenêtre contextuelle du modèle
Cliquez sur continuer et choisissez le champ que vous souhaitez intégrer, puis choisissez le modèle.
Sources de données
La connexion à votre feuille Google Sheets est maintenant établie.
Lors de la première exécution, Agent Cloud traitera les données de votre feuille de calcul et les convertira dans un format adapté à une récupération efficace. Ces données traitées seront ensuite stockées dans le magasin vectoriel d'Agent Cloud.
Nouvel écran de source de données
Si vous êtes à l'aise avec les détails techniques, vous pouvez vérifier la présence des données dans le magasin vectoriel Qdrant en cours d'exécution localement sur le port 6333.
Cela peut être accessible via : http://localhost:6333/dashboard#/collections.
Recherchez une nouvelle collection correspondant à vos données Google Sheets.
Écran des collections
Vous pouvez cliquer sur la collection pour afficher les charges utiles et les champs peuplés dans la collection.
Charge utile
Comment configurer les outils
Les outils jouent un rôle crucial dans la facilitation de l'interaction efficace entre l'agent IA et son environnement, permettant un traitement fluide des informations et l'exécution d'actions alignées sur ses objectifs.
Ces outils peuvent inclure des fonctions, des API, des sources de données et des ressources adaptées pour permettre à l'agent d'entreprendre diverses tâches de manière autonome et efficace. Bien que vous ayez la flexibilité de créer vos propres outils selon vos besoins, Agent Cloud rationalise également le processus en générant automatiquement un outil lors de l'ajout d'une nouvelle source de données.
Cliquez sur l'onglet Outils pour passer à la page Outils et cliquez sur le bouton Nouveau.
Entrez les noms des outils et ajoutez une description. Une description détaillée et détaillée aide les agents à mieux comprendre quand utiliser chaque outil.
Choisissez la source de données et cliquez sur le bouton Enregistrer.
Écran d'édition de l'outil
Comment configurer un agent
Les agents IA sont des systèmes intelligents qui excellent dans la gestion des tâches routinières ou répétitives en percevant leur environnement, en collectant des données et en utilisant ces données pour prendre des décisions.
Cliquez sur l'onglet Agents puis sur le bouton Nouveau Agent.
Nouvel écran d'agent
Définissez le Nom, le Rôle, le But et le Contexte d'un agent comme indiqué ci-dessous.
Dans la section "Modèle", choisissez le moteur IA pour alimenter les capacités de raisonnement de votre agent. Pour cet exemple, nous avons sélectionné "OpenAI GPT-4" comme Modèle et Modèle d'appel de fonction.
Choisissez l'outil que nous avons configuré précédemment sous Outils (Optionnel).
Ajout de détails dans l'écran de l'agent
Si "OpenAI GPT-4" n'est pas déjà configuré dans Agent Cloud, vous pouvez facilement l'ajouter. Cliquez sur le champ "Modèle" et sélectionnez "Ajouter un nouveau modèle". Une nouvelle fenêtre apparaîtra, vous permettant de définir le nom du modèle, le type, les identifiants (votre clé API OpenAI) et le modèle LLM spécifique.
Fenêtre contextuelle du modèle
Cliquez sur le bouton Enregistrer. Une fois que vous avez enregistré ces informations, "GPT-4" sera disponible pour la création future d'agents.
Écran des agents
Comment créer une tâche
Les tâches sont des actions spécifiques assignées aux agents pour être complétées. Pour créer une nouvelle tâche, accédez à l'onglet Tâches et cliquez sur le bouton "Ajouter une tâche".
Écran de création de tâches
Entrez les détails suivants dans la fenêtre contextuelle ci-dessous.
- Nom de la tâche : Donnez à votre tâche un titre clair et concis qui reflète son objectif.
- Description détaillée de ce que la tâche implique.
- Choisissez l'outil que nous avons créé précédemment, qui est "Plainte des consommateurs financiers" dans mon cas.
- Sélectionnez l'agent préféré que nous avons créé précédemment, que nous avons nommé "Agent des plaintes des clients".
Ajout de détails dans l'écran des tâches
Cliquez sur le bouton Enregistrer pour enregistrer la tâche.
Comment configurer votre application
Maintenant, attachez vos ceintures car nous allons nous lancer dans la partie excitante : créer une application conversationnelle. Cette application transformera notre source de données en un partenaire de chat, vous permettant d'avoir des conversations interactives et de découvrir des informations grâce au langage naturel.
Jusqu'à présent, nous avons posé les bases de notre application. Nous avons créé :
- Une source de données.
- Un outil de récupération de données.
- Un agent.
- Des tâches.
Cliquez sur l'onglet Applications puis sur le bouton Nouvelle Application, puis entrez les détails ci-dessous :
Nouvel écran d'application
- Nom de l'application - Entrez le nom que vous souhaitez donner à votre application.
- Entrez une description de ce que fait notre application.
- Sélectionnez une tâche.
- Sélectionnez un agent.
- Choisissez un modèle de gestion de chat - Choisissez le modèle Open AI que nous avons configuré précédemment.
Écran de l'application
Maintenant, testons notre application.
En cliquant sur le bouton de lecture, une fenêtre de chat s'ouvrira pour nous où nous pourrons avoir une conversation.
Bouton de lecture dans l'écran de l'application
Une fenêtre d'interface de chat devrait s'ouvrir pour nous où nous pouvons discuter avec nos données. Par exemple, avec les données que j'ai utilisées, je peux demander à l'application de résumer certains des problèmes soulevés par les clients liés au produit Hypothèque.
Chat en direct avec les données
Ou je peux lui demander de résumer les réponses des entreprises liées à différents problèmes.
Écran de réponse
Conclusion
Dans ce tutoriel, nous avons exploré la construction d'une application de chat RAG en utilisant Agent Cloud et Google Sheets.
Nous avons couvert la configuration de Google Sheets comme source de données, l'intégration des données pour une récupération efficace et leur stockage dans un magasin vectoriel comme Qdrant. Nous avons également appris comment créer des outils pour les agents (composants de chatbot) et construire une interface de chat d'application où les utilisateurs peuvent interagir avec les données sans écrire une seule ligne de code.
Si vous souhaitez lire plus d'articles intéressants sur les outils pour développeurs, React, Next.js, l'IA et plus encore, je vous encourage à consulter mon blog.
Certains des articles récents que j'ai écrits cette année.
- Comment je construis un blog avec Next.js et Firebase
- Comment je construis une application de gestion de tâches avec React et Appwrite
- Comment je construis une application de notes en utilisant React et Supabase - Le guide complet
- Comment je construis une application de chat RAG avec Agent Cloud et BigQuery
Vous pouvez me contacter si vous avez des questions ou des corrections. Je les attends.
Et si vous avez trouvé ce tutoriel utile, veuillez le partager avec vos amis et collègues qui pourraient en bénéficier également. Votre soutien me permet de continuer à produire du contenu utile pour la communauté tech.
Maintenant, il est temps de passer à l'étape suivante en vous abonnant à ma newsletter et en me suivant sur Twitter.