Aller au contenu principal

Agent de voyage à mémoire et recherche vectorielle MongoDB Atlas

Un chatbot de voyage qui répond à partir de points d'intérêt stockés dans MongoDB Atlas. La mémoire de conversation est conservée dans la même base, fil de discussion par fil de discussion. Le modèle de langage est Google Gemini et les embeddings sont calculés avec OpenAI. Il faut créer la collection points_of_interest et son index vectoriel, puis charger des données avant de tester.

Déclencheur
Message de chat
Taille
11 nœuds
Outils
MongoDB, Google Gemini, MongoDB Atlas, OpenAI, Agent IA

Comment fonctionne ce workflow

  1. 1

    Le déclencheur de chat reçoit le message de l'utilisateur et le transmet à l'Agent IA.

  2. 2

    L'Agent IA s'appuie sur Google Gemini comme modèle de langage pour formuler sa réponse.

  3. 3

    La MongoDB Chat Memory relit et enregistre l'historique du fil de discussion dans MongoDB Atlas.

  4. 4

    L'Agent IA interroge la MongoDB Atlas Vector Store, dont les vecteurs sont produits par les Embeddings OpenAI, pour trouver les points d'intérêt pertinents.

  5. 5

    Un Webhook reçoit les points d'intérêt à charger, le Default Data Loader et le Recursive Character Text Splitter les préparent, puis ils sont vectorisés avec OpenAI et écrits dans la collection points_of_interest.

Quand l'utiliser

  • Recommander un lieu pour un séjour romantique à partir d'une liste de points d'intérêt que vous maintenez vous-même.
  • Ajouter de nouveaux lieux à la base en envoyant une requête HTTP au webhook d'ingestion.
  • Tester un agent de recommandations touristiques sur vos propres données avant de l'ouvrir à des utilisateurs.

À préparer avant l'import

  • Des identifiants Google pour Google Gemini, configurés dans n8n.
  • Une clé API OpenAI, configurée dans n8n pour les nœuds d'embeddings.
  • Un projet et un cluster MongoDB Atlas, avec la chaîne de connexion et une liste d'accès IP (0.0.0.0/0 pour les tests).
  • Des identifiants MongoDB dans n8n, avec la chaîne de connexion et le nom de la base.
  • Un index vectoriel nommé vector_index sur la collection points_of_interest, champ embedding, 1536 dimensions, similarité cosine.

Bon à savoir

Créez d'abord l'index vector_index sur points_of_interest, puis envoyez les données. Si vous changez de modèle d'embedding, réglez numDimensions sur sa dimension : 1536 pour OpenAI ici.

Installer ce template dans n8n

  1. Téléchargez le fichier JSON avec le bouton en haut de la page.
  2. Dans n8n, ouvrez le menu d'un workflow vide, choisissez « Import from File » et sélectionnez le fichier.
  3. Reliez vos propres identifiants à chaque nœud qui en demande un, lancez un test, puis activez le workflow.

Ce template fonctionne sur n8n auto-hébergé comme sur n8n Cloud. Les nœuds IA demandent une version récente de n8n.

Vous voulez ce workflow branché sur vos outils ?

Ce template est un point de départ. Nous l'adaptons à vos règles, à vos comptes et à votre hébergement, puis nous le maintenons.

Voir notre accompagnement n8n