Agente inteligente de IA para recomendación de películas con MongoDB
MongoDB Agent
Sistema inteligente de recomendación de películas basado en OpenAI y MongoDB, que admite consultas en lenguaje natural a la base de datos de películas, ofrece recomendaciones personalizadas y gestiona listas de favoritos
Descripción general del flujo de trabajo
Este es un flujo de trabajo de agente inteligente basado en OpenAI y MongoDB, diseñado para la recomendación y gestión de películas. El flujo puede recibir mensajes de chat, consultar datos de películas mediante el marco de agregación de MongoDB y permite almacenar las películas favoritas del usuario nuevamente en la base de datos.
Nombre del flujo de trabajo
MongoDB Agent (Agente Inteligente de MongoDB)
Funcionalidades principales
- Interacción conversacional inteligente: Recibe solicitudes de consulta de películas del usuario a través de una interfaz de chat.
- Consulta de datos en MongoDB: Recupera información relevante desde la base de datos de películas de MongoDB utilizando pipelines de agregación.
- Recomendación de películas: Ofrece recomendaciones personalizadas según las necesidades del usuario.
- Gestión de favoritos: Permite al usuario guardar sus películas favoritas en la base de datos.
Detalle de los nodos
1. When chat message received (Disparador por mensaje de chat)
- Tipo:
@n8n/n8n-nodes-langchain.chatTrigger - Función: Punto de entrada del flujo de trabajo, recibe mensajes de chat mediante Webhook.
- Configuración:
- Modo: Webhook (acceso público)
- Permite solicitudes desde cualquier origen (
allowedOrigins: "*")
2. AI Agent - Movie Recommendation (Agente de IA para recomendación de películas)
- Tipo:
@n8n/n8n-nodes-langchain.agent - Función: Agente central de IA que coordina toda la lógica del flujo de trabajo.
- Prompt (indicaciones):
- Actuar como asistente contextual de películas.
- Utilizar la herramienta MongoDBAggregate para realizar búsquedas.
- Proporcionar un array con código de pipeline de agregación de MongoDB.
- Usar la herramienta insertFavorite únicamente cuando el usuario confirme su deseo de guardar una película.
3. OpenAI Chat Model (Modelo de chat de OpenAI)
- Tipo:
@n8n/n8n-nodes-langchain.lmChatOpenAi - Función: Proporciona capacidades de comprensión y generación de lenguaje mediante IA.
- Credenciales: Conectado a la API de OpenAI.
4. Window Buffer Memory (Memoria con buffer de ventana)
- Tipo:
@n8n/n8n-nodes-langchain.memoryBufferWindow - Función: Mantiene el contexto de la conversación.
- Configuración: Conserva una ventana de contexto con los últimos 10 mensajes.
5. MongoDBAggregate (Herramienta de agregación de MongoDB)
- Tipo:
n8n-nodes-base.mongoDbTool - Función: Ejecuta consultas de agregación en MongoDB.
- Operación: agregación (aggregate)
- Colección: movies (colección de películas)
- Estructura del documento: incluye los siguientes campos:
plot: resumen del argumentogenres: géneros cinematográficos (array)runtime: duracióncast: repartoposter: enlace al póstertitle: título de la películafullplot: argumento completolanguages: idiomasreleased: fecha de estrenodirectors: directoresrated: clasificaciónawards: información sobre premiosyear: añoimdb: información de calificación de IMDb
6. insertFavorite (Herramienta para insertar favoritos)
- Tipo:
@n8n/n8n-nodes-langchain.toolWorkflow - Función: Invoca un subflujo para insertar las películas favoritas del usuario en la base de datos.
- ID del flujo de trabajo:
6QuKnOrpusQVu66Q(insertMongoDB) - Estructura de datos:
{"title": "Título de la película"}
7-8. Sticky Note (Notas adhesivas explicativas)
- Función: Proporcionan documentación y explicación del flujo de trabajo.
Flujo de trabajo
- Recepción de mensaje: El usuario envía una consulta relacionada con películas a través de la interfaz de chat.
- Análisis por IA: El modelo de OpenAI analiza la intención y necesidades del usuario.
- Recuperación de datos: Se invoca la herramienta MongoDBAggregate para consultar datos de películas según sea necesario.
- Mejora de resultados: El agente de IA procesa los resultados de la consulta y genera una respuesta amigable.
- Guardado de favoritos: Si el usuario confirma que le gusta una película, se invoca la herramienta insertFavorite para guardarla.
- Mantenimiento del contexto: Window Buffer Memory asegura la coherencia en la conversación.
Relaciones de conexión
- When chat message received → AI Agent - Movie Recommendation
- OpenAI Chat Model → AI Agent - Movie Recommendation (modelo de lenguaje)
- Window Buffer Memory → AI Agent - Movie Recommendation (memoria)
- MongoDBAggregate → AI Agent - Movie Recommendation (herramienta)
- insertFavorite → AI Agent - Movie Recommendation (herramienta)
Características técnicas
- Arquitectura de agente autónomo: La IA decide de forma autónoma cuándo utilizar cada herramienta.
- Mantenimiento del contexto: Usa memoria con ventana para conservar la continuidad de la conversación.
- Consultas flexibles: Soporta pipelines complejos de agregación en MongoDB.
- Interacción bidireccional: Permite tanto consultar como escribir datos.
- Acceso público: Puede ser invocado por sistemas externos mediante Webhook.
Casos de uso
- Chatbot de recomendación de películas
- Sistema inteligente de consulta de bases de datos de películas
- Gestión personalizada de colecciones de películas favoritas
- Asistente para búsqueda de información cinematográfica
Estado
- Estado activo: true (el flujo de trabajo está activado)
- Orden de ejecución: v1
Stack tecnológico
- Framework de IA: LangChain
- Modelo de lenguaje: OpenAI
- Base de datos: MongoDB
- Plataforma: n8n workflow automation