Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Compilación de un agente de IA con MongoDB y n8n

Este tutorial demuestra cómo compilar rápidamente un agente de IA utilizando n8n que pueda responder preguntas sobre algunos datos de muestra. El agente aprovecha MongoDB tanto como un almacén vectorial para la recuperación de documentos como un almacén de memoria de chat para la persistencia de conversaciones.

La siguiente captura de pantalla muestra el flujo de trabajo que se va a crear en este tutorial. En este flujo de trabajo, creas un agente de IA que utiliza dos nodos de MongoDB:

También utiliza OpenAI como proveedor de modelos LLM y de embedding.

Cuando envías un mensaje al agente, se activan las siguientes acciones:

  1. El nodo del agente de IA procesa el mensaje del usuario y determina la siguiente acción.

  2. El agente de IA verifica si necesita realizar alguna llamada de herramienta.

    • Si es así, llama al nodo de almacén vectorial de MongoDB para recuperar documentos.

    • De lo contrario, sigue a la siguiente acción.

  3. El agente genera una respuesta utilizando el LLM que configuraste para el flujo de trabajo.

  4. Después de cada interacción, el nodo MongoDB Chat Memory almacena el historial de la conversación.

Captura de pantalla del flujo de trabajo del agente de IA con n8n y MongoDB

Nota

Los asteriscos rojos en la configuración del nodo del agente de IA indican parámetros obligatorios.

Antes de comenzar, asegúrate de tener lo siguiente:

Cuando trabajes con n8n y MongoDB, considera lo siguiente:

  • Para los usuarios de MongoDB Atlas, asegúrense de añadir sus direcciones IP n8n a la lista de acceso IP de su proyecto. Para obtener más información, consulte Acceso a la red.

  • Al configurar el nodo MongoDB Vector Store, asegúrate de activar la opción Include Metadata a Off. Si no activas este ajuste en Off, el agente de IA podría no ejecutarse ya que los documentos podrían ser demasiado grandes para cargarlos en la ventana de contexto.

Debes crear un índice de búsqueda vectorial en tu colección antes de poder usar el nodo del almacenar vectorial de MongoDB.

Completa los siguientes pasos para crear un índice vectorial de búsqueda usando la Interfaz de Usuario de Atlas.

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

2
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Data Explorer en la sección Database.

    El Data Explorer se muestra.

IMPORTANTE: También puede hacer clic en el nombre de un grupo para abrir la barra Cluster lateral y luego hacer clic Data Explorer en debajo del Shortcuts encabezado.

3

Puedes ir a la página de búsqueda de MongoDB desde la opción Search & Vector Search o desde el Data Explorer.

  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Search & Vector Search en la sección Database.

    • Si no tienes clústeres, haz clic en Create cluster para crear uno. Para obtener más información, consulta Crear un clúster.

    • Si el proyecto tiene varios clústeres, se debe seleccionar el clúster que se desea usar en el menú desplegable Select cluster y luego se debe hacer clic en Go to Search.

    Aparece la página de Búsqueda y Búsqueda Vectorial.

  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Data Explorer en la sección Database.

  4. Expanda la base de datos y seleccione la colección.

  5. Haga clic en la pestaña Indexes para la colección.

  6. Haga clic en el enlace Search and Vector Search en el banner.

    Aparece la página de Búsqueda y Búsqueda Vectorial.

4
5

Realiza las siguientes selecciones en la página y luego haz clic en Next.

Search Type

Seleccione el tipo de índice MongoDB Search.

Index Name and Data Source

Especifique la siguiente información:

  • Index Name: releasedAfter2000Index

  • Database and Collection:

    • sample_mflix
    • movies_ReleasedAfter2000

Configuration Method

Para una experiencia guiada, selecciona Visual Editor.

Para editar la definición del índice en su forma original, selecciona JSON Editor.

IMPORTANTE: Tu índice |fts| se llama ``autoembed_index` por defecto. Si estás creando varios índices, te recomendamos que mantengas una convención de nombres coherente y descriptiva en todos tus índices.

6

Especifique plot_embedding como campo a indexar y especifique 1536 dimensiones.

Para configurar el índice, seleccione Cosine del menú desplegable Similarity Method.

Pegue la siguiente definición de índice en el editor JSON:

1{
2 "fields": [
3 {
4 "type": "vector",
5 "numDimensions": 1536,
6 "path": "plot_embedding",
7 "similarity": "dotProduct"
8 }
9 ]
10}
7
8

Atlas muestra una ventana modal para informar que se está creando el índice.

9
10

El nuevo índice creado se muestra en la página Search & Vector Search. Mientras se construye el índice, el campo Status indica Pending. Cuando el índice termina de construirse, el campo Status lee Ready.

Nota

Las colecciones más grandes tardan más en indexarse. Se recibirá una notificación por correo electrónico cuando el índice haya terminado de construirse.

Para utilizar un método diferente de creación de índices, sigue los pasos descritos en el procedimiento de creación de índice. Utilizar la siguiente configuración:

{
"fields": [
{
"type": "vector",
"path": "plot_embedding",
"numDimensions": 1536,
"similarity": "dotProduct"
}
]
}

En esta sección, completarás los pasos para configurar las credenciales requeridas en n8n.

1

En la esquina superior derecha de la página de inicio de n8n, haz clic derecho en Create Workflow. Como alternativa, selecciona la pestaña Credentials y haz clic en Add first credential.

2
  1. En el menú desplegable, seleccione las credenciales a configurar.

    Por ejemplo, selecciona OpenAI y haz clic en Continue.

  2. Para ver qué parámetros debe introducir para su proveedor de modelos, consulte la librería de Credenciales.

    Por ejemplo, para OpenAI, introduce la clave de la API, el nombre de la organización y la URL base.

  3. Haz clic en Save. n8n agrega la credencial a tu espacio personal.

3

Sigue las mismas instrucciones descritas en el paso anterior para agregar tus credenciales de MongoDB a n8n. Especifique los siguientes valores:

Configuración
Valor

Tipo de configuración

En el menú desplegable, selecciona el método Connection String.

Cadena de conexión

Ingresa tu MongoDB Connection String.

Para aprender a encontrar tu cadena de conexión de MongoDB, consulta Cadenas de conexión.

Database

Introduce sample_mflix.

Complete los siguientes pasos en n8n para crear un flujo de trabajo de agente de IA con MongoDB y n8n. Para obtener más información sobre el flujo de trabajo, consulte Acerca del8flujo de trabajo n n con MongoDB.

1

Abre n8n donde estés alojando, luego crea un nuevo flujo de trabajo:

  • Si no tienes ningún flujo de trabajo o si está usando n8n por primera vez, utiliza el flujo de trabajo vacío que se muestra.

  • Si tiene flujos de trabajo existentes, haga clic en Create Workflow.

2

Todos los flujos de trabajo en n8n comienzan con un nodo de activador. Para este workflow, se utiliza un nodo de activador de chat para que el workflow del agente de IA se active con un mensaje del usuario.

  1. Selecciona Add first step o presiona Tab para abrir el menú del nodo.

  2. Buscar Chat Trigger. n8n muestra una lista de nodos que coinciden con la búsqueda.

  3. Seleccione Chat Trigger para agregar el nodo al lienzo.

  4. Haz clic en Back to canvas en la esquina superior izquierda de tu pantalla. Se puede omitir la prueba de este nodo en esta fase. Haz clic en Save.

3

En el nodo Agente de IA, se configura el modelo de chat, la memoria y las herramientas. Estos son componentes requeridos del nodo Agente de IA donde se pueden agregar nodos y subnodos adicionales.

  1. Selecciona el conector + en el nodo del activador.

  2. Busque el nodo AI Agent y agrégalo al flujo de trabajo. Se muestra la vista de edición del agente de IA.

  3. Haz clic en Back to canvas en la esquina superior izquierda de tu pantalla. Se puede omitir la prueba de este nodo en esta fase. Haz clic en Save.

4

Configure el modelo de chat para adjuntar el nodo que procese las indicaciones entrantes:

  1. Haz clic en el conector + junto a la etiqueta Chat Model en el nodo de agente de IA. El panel de búsqueda aparece, filtrado en Language Models.

  2. Seleccione OpenAI Chat Model de la lista, o su proveedor de LLM preferido.

  3. Haga clic en Credential to connect with.

  4. Después de seleccionar tus credenciales, elige un modelo en el menú desplegable (por ejemplo, gpt-4o).

  5. Haz clic en Back to canvas en la esquina superior izquierda de tu pantalla. Se puede omitir la prueba de este nodo en esta fase. Haz clic en Save.

  6. Haz clic en el ícono del agente de IA en la parte superior del cuadro de diálogo para volver a la configuración del nodo del agente de IA.

5

Configura el subnodo de Memoria de Chat de MongoDB para habilitar el contexto de conversación persistente.

  1. Haz clic en el conector + junto a la etiqueta Memory en el nodo AI Agent.

  2. Desde el panel lateral, selecciona MongoDB Chat Memory.

  3. Haz clic en Select credential, luego selecciona tus credenciales de MongoDB.

  4. Use las configuraciones por defecto para el nodo de memoria de chat de MongoDB. Por defecto, n8n crea una colección llamada n8n_chat_histories en la base de datos especificada.

  5. Haz clic en Back to canvas en la esquina superior izquierda de tu pantalla. Se puede omitir la prueba de este nodo en esta fase. Haz clic en Save.

  6. Haz clic en el icono del agente de IA para volver a la configuración de nodos del agente de IA.

6

Configura el nodo vectorial de MongoDB Atlas para habilitar la recuperación de documentos.

  1. Haz clic en el conector + junto a la etiqueta Tool en el nodo AI Agent.

  2. En el panel de búsqueda, selecciona MongoDB Atlas Vector Store.

  3. Seleccione las credenciales de MongoDB que configuró y luego especifique los siguientes valores:

    Configuración
    Valor

    Operation Mode

    Retrieve Documents (As Tool for AI Agent)

    Description

    "Search through documents about movies to find relevant information"

    MongoDB Collection

    embedded_movies

    Embedding

    plot_embedding

    Metadata Field

    plot

    Vector Index Name

    vector_index

    Limit

    4

    Include Metadata

    Cambiar a Off

    IMPORTANTE:

    Si no activas esta configuración en Off, puede que el agente de IA no se ejecute, ya que los documentos podrían ser demasiado grandes para cargarse en la ventana de contexto.

    Rerank Results

    Cambiar a Off

7

Configura el modelo de incrustación para el Vector Almacenar de MongoDB Atlas:

  1. Haz clic en el conector + junto a la etiqueta Embedding en el nodo MongoDB Atlas Vector Store.

  2. Desde el panel lateral, selecciona Embeddings OpenAI.

  3. Selecciona tus credenciales de OpenAI, y luego especifica el modelo text-embedding-ada-002.

  4. Haz clic en Back to canvas en la esquina superior izquierda de la pantalla. Haz clic en Save.

8

Ahora que has configurado el nodo del agente de IA, puedes probar el flujo de trabajo completo. Después de enviar un mensaje, el flujo de trabajo se ejecuta en tiempo real en el canvas.

  1. Haz clic en el botón Open chat cerca de la parte inferior del lienzo.

  2. Prueba la funcionalidad de memoria ejecutando algunas indicaciones iniciales. Por ejemplo:

    Hi, my name is Mongo
    Hello Mongo! Nice to meet you. How can I help you today?
    What is my name?
    Your name is Mongo, as you mentioned when you introduced yourself earlier.
  3. Prueba la búsqueda vectorial y la funcionalidad RAG ejecutando el siguiente mensaje.

    Recommend me a few movies about time travel
    Here are a few movies about time travel that you might enjoy:
    The Time Traveler's Wife - A romantic drama about a Chicago librarian with a gene that causes him to involuntarily time travel, leading to complications in his marriage.
    Timecop - An officer working for a security agency that regulates time travel must battle for his life against a corrupt politician tied to his past.
    We Are from the Future (My iz budushchego) - Four modern-day treasure seekers are unexpectedly transported into the midst of a World War II battle set in Russia.
    About Time - A young man discovers at the age of 21 that he can travel back in time. He attempts to improve his life, including finding love, but things don't turn out to be as simple as they seem.
    Let me know if you'd like any additional information about these films!
9
  1. Haz clic en el botón Save en la parte superior derecha de la ventana del editor.

  2. Dale a tu flujo de trabajo un nombre descriptivo. Por ejemplo, asígnele el nombre de "Agente de IA con MongoDB".

Puede volver a este flujo de trabajo en cualquier momento.