Agent intelligent IA de recommandation de films MongoDB

MongoDB Agent

Système intelligent de recommandation de films basé sur OpenAI et MongoDB, permettant d’interroger la base de données cinématographique en langage naturel, de recevoir des recommandations personnalisées et de gérer une liste de favoris.

8 NodesDeveloper Toolschatbot IA intégration MongoDB recommandation de films

Aperçu du workflow

Il s'agit d’un workflow d’agent intelligent IA, construit à partir d’OpenAI et de MongoDB, destiné à la recommandation et à la gestion de films. Ce workflow peut recevoir des messages de discussion, interroger les données de films via le framework d’agrégation de MongoDB, et permet également de sauvegarder les films préférés de l’utilisateur dans la base de données.

Nom du workflow

MongoDB Agent (Agent intelligent MongoDB)

Fonctionnalités principales

  1. Interaction conversationnelle intelligente : reçoit les requêtes des utilisateurs concernant des films via une interface de chat
  2. Interrogation des données MongoDB : récupère les informations pertinentes depuis la base de données de films MongoDB à l’aide de pipelines d’agrégation
  3. Recommandation de films : fournit des suggestions personnalisées en fonction des besoins exprimés par l’utilisateur
  4. Gestion des favoris : permet à l’utilisateur d’enregistrer ses films préférés dans la base de données

Détail des nœuds

1. When chat message received (Déclencheur de message de chat)

  • Type : @n8n/n8n-nodes-langchain.chatTrigger
  • Fonction : point d’entrée du workflow, reçoit les messages de l’utilisateur via un webhook
  • Configuration :
    • Mode : Webhook (accès public)
    • Autorise les requêtes provenant de toutes les origines (allowedOrigins: "*")

2. AI Agent - Movie Recommendation (Agent IA de recommandation de films)

  • Type : @n8n/n8n-nodes-langchain.agent
  • Fonction : agent IA central coordonnant toute la logique du workflow
  • Prompt (instructions) :
    • Agir comme un assistant spécialisé dans le contexte cinématographique
    • Utiliser l’outil MongoDBAggregate pour effectuer des recherches
    • Fournir un tableau de code correspondant au pipeline d’agrégation MongoDB
    • N’utiliser l’outil insertFavorite pour enregistrer un favori que si l’utilisateur le confirme explicitement

3. OpenAI Chat Model (Modèle de discussion OpenAI)

  • Type : @n8n/n8n-nodes-langchain.lmChatOpenAi
  • Fonction : fournit les capacités de compréhension et de génération de langage IA
  • Identifiants : connexion à l’API OpenAI

4. Window Buffer Memory (Mémoire tampon avec fenêtre glissante)

  • Type : @n8n/n8n-nodes-langchain.memoryBufferWindow
  • Fonction : maintient le contexte de la conversation
  • Configuration : conserve une fenêtre contextuelle des 10 derniers messages

5. MongoDBAggregate (Outil d’agrégation MongoDB)

  • Type : n8n-nodes-base.mongoDbTool
  • Fonction : exécute des requêtes d’agrégation MongoDB
  • Opération : agrégation (aggregate)
  • Collection : movies (collection de films)
  • Structure des documents : contient les champs suivants
    • plot : résumé du scénario
    • genres : genres du film (tableau)
    • runtime : durée du film
    • cast : distribution (acteurs)
    • poster : lien vers l’affiche
    • title : titre du film
    • fullplot : synopsis complet
    • languages : langues
    • released : date de sortie
    • directors : réalisateurs
    • rated : classification (ex. : PG-13)
    • awards : récompenses obtenues
    • year : année de sortie
    • imdb : informations sur la note IMDb

6. insertFavorite (Outil d’ajout aux favoris)

  • Type : @n8n/n8n-nodes-langchain.toolWorkflow
  • Fonction : appelle un sous-workflow pour insérer le film préféré de l’utilisateur dans la base de données
  • ID du workflow : 6QuKnOrpusQVu66Q (insertMongoDB)
  • Structure des données : {"title": "Titre du film"}

7-8. Sticky Note (Notes explicatives)

  • Fonction : fournissent une documentation et une explication du déroulement du workflow

Déroulement du workflow

  1. Réception du message : l’utilisateur envoie une requête liée aux films via l’interface de chat
  2. Analyse par l’IA : le modèle OpenAI analyse l’intention et les besoins de l’utilisateur
  3. Récupération des données : l’outil MongoDBAggregate est appelé si nécessaire pour interroger la base de données de films
  4. Amélioration des résultats : l’agent IA traite les résultats de la requête et génère une réponse conviviale
  5. Enregistrement des favoris : si l’utilisateur confirme son intérêt pour un film, l’outil insertFavorite est invoqué pour l’enregistrer
  6. Maintien du contexte : la mémoire Window Buffer Memory assure la cohérence de la conversation

Relations entre les composants

  • When chat message receivedAI Agent - Movie Recommendation
  • OpenAI Chat ModelAI Agent - Movie Recommendation (modèle de langage)
  • Window Buffer MemoryAI Agent - Movie Recommendation (mémoire contextuelle)
  • MongoDBAggregateAI Agent - Movie Recommendation (outil)
  • insertFavoriteAI Agent - Movie Recommendation (outil)

Caractéristiques techniques

  1. Architecture d’agent autonome : l’IA décide elle-même du moment opportun pour utiliser chaque outil
  2. Conservation du contexte : la mémoire par fenêtre garantit la continuité de la conversation
  3. Requêtes flexibles : prise en charge de pipelines d’agrégation MongoDB complexes
  4. Interaction bidirectionnelle : capacité à la fois à lire et à écrire des données
  5. Accès public : invocable par des systèmes externes grâce au mécanisme de webhook

Cas d’usage

  • Chatbot de recommandation de films
  • Système intelligent de recherche dans une base de données cinématographique
  • Gestion personnalisée de collections de films
  • Assistant de recherche d’informations sur les films

État

  • Statut actif : true (workflow activé)
  • Ordre d’exécution : v1

Stack technique

  • Framework IA : LangChain
  • Modèle de langage : OpenAI
  • Base de données : MongoDB
  • Plateforme : n8n workflow automation