Saltearse al contenido

MongoDB Vector Store

El componente MongoDB Vector Store es una herramienta fundamental dentro de Nappai para crear aplicaciones inteligentes que pueden “leer” y recordar grandes cantidades de información. Su propósito principal es actuar como una memoria externa para tus asistentes de IA, utilizando la tecnología MongoDB Atlas Vector Search.

Imagina que este componente es como una biblioteca avanzada donde no solo buscas por el título de un libro, sino por el significado de lo que contiene. Esto permite a tu automatización responder preguntas complejas basándose en documentos específicos que has cargado previamente, mejorando la precisión y relevancia de las respuestas generadas.

¿Cómo funciona?

Este componente funciona como un puente entre la inteligencia artificial y tu base de datos MongoDB. Internamente, utiliza la capacidad de búsqueda semántica de MongoDB Atlas, una tecnología que convierte el texto en números (vectores) para poder calcular similitudes matemáticas.

El proceso básico es el siguiente:

  1. Conexión: Se conecta de forma segura a tu base de datos en MongoDB Atlas.
  2. Almacenamiento (Ingestión): Recibe documentos (como archivos de texto, artículos o notas) y los guarda en una “colección” específica dentro de tu base de datos, organizándolos de manera que la IA pueda encontrarlos fácilmente más tarde.
  3. Búsqueda Inteligente: Cuando necesitas información, este componente busca en esa colección no por palabras clave exactas, sino por el significado de la pregunta. Esto significa que puede encontrar respuestas aunque no utilicen las mismas palabras exactas que en el documento original.

Conexión y Credenciales

Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con el servicio externo:

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea una nueva credencial del tipo MongoDB Connection y guarda los campos requeridos (Usuario, Contraseña, Clúster, etc.).
  3. En tu flujo de trabajo, selecciona la credencial guardada en el campo de entrada Credential de este nodo.

Entradas

Para que este componente funcione correctamente, debes proporcionarle la configuración de tu base de datos. Ten en cuenta que las claves de seguridad (como contraseñas o tokens de acceso) se gestionan a través de la Credencial que configuraste en el paso anterior, por lo que no aparecerán en esta lista de campos.

Campos de Entrada

  • Database Name: Es el nombre de la base de datos específica dentro de tu clúster de MongoDB Atlas donde se guardarán los datos. Debes asegurarte de que este nombre exista en tu base de datos.
  • Collection Name: Es el nombre de la “colección” (el contenedor lógico) dentro de esa base de datos donde se almacenarán los vectores y los metadatos de tus documentos.
  • Vector Index Name (Opcional): Si ya has creado un índice de búsqueda vectorial personalizado en MongoDB, puedes especificar su nombre aquí para que el componente lo utilice. De lo contrario, puede intentar usar un nombre predeterminado.
  • Embedding Model Reference: Esta entrada conecta el almacén de vectores con el modelo de IA que convierte el texto en vectores. Asegúrate de vincularlo con un componente de “Embedding” (como OpenAI o HuggingFace) para que los datos se procesen correctamente antes de guardarse.

Salidas

El componente no devuelve un archivo o un texto directo para leer inmediatamente, sino que prepara la estructura para que otros componentes puedan usarla.

  • Vector Store Object: Esta es la salida principal. Es una “referencia” o un objeto listo para usar. Este objeto se conecta típicamente a nodos posteriores como “Search” (Buscar) o “Retrieve” (Recuperar) para que la IA pueda consultar la información que has cargado.
  • Operation Success: Un indicador booleano (verdadero/falso) que confirma si la conexión y la configuración inicial se realizaron correctamente.

Ejemplo de Respuesta JSON

Cuando el componente se ejecuta correctamente y está listo para ser usado por el siguiente paso del flujo, la referencia interna se estructura de la siguiente manera (nota: en la interfaz visual, esto aparece como un nodo conectado, no como texto): json { “status”: “active”, “store_type”: “MongoDBAtlasVectorStore”, “reference_id”: “mongo_vector_store_ref_123”, “connection_status”: “connected”, “ready_for_query”: true }

Conectividad

Este componente es el corazón de las memorias vectoriales en Nappai. Lógicamente, se conecta principalmente a componentes de Procesamiento de Datos hacia su entrada (para recibir el texto que será convertido en vectores) y hacia su salida se conecta a:

  1. Componentes de Búsqueda (Search/Retriever): Para ejecutar las consultas de similitud.
  2. Asistentes de IA (Chat/LLM): Para alimentar al chatbot con la información recuperada, permitiendo respuestas contextualizadas.

Ejemplo de Uso

Imagina que estás creando un asistente virtual para tu empresa que debe responder preguntas sobre el manual de empleados.

  1. Usas el componente MongoDB Vector Store para conectar tu base de datos de Atlas.
  2. Cargas el documento del “Manual de Empleados” en esta base de datos.
  3. Más adelante en el flujo, cuando un usuario pregunta “¿Cuál es el permiso por enfermedad?”, tu componente busca semánticamente en el manual guardado.
  4. El componente encuentra el párrafo relevante y se lo envía al Asistente de IA, quien responde usando esa información específica.

Consejos y Mejores Prácticas

  • Nombres Claros: Usa nombres descriptivos para tu Database Name y Collection Name (ej. “HR_Manual_2024”) para organizar mejor tu base de datos a medida que creces.
  • Validación de Conexión: Asegúrate de que tu Connection String sea correcto antes de probar el flujo, ya que cualquier error de conexión bloqueará la capacidad de la IA para acceder a la memoria.
  • Gestión de Índices: Si tienes muchos datos, considera crear índices vectoriales específicos en MongoDB Atlas para mejorar la velocidad de búsqueda.

Consideraciones de Seguridad

  • Protección de Credenciales: Nunca compartas o publiques tu Connection String de MongoDB Atlas. Utiliza siempre el campo Credential de Nappai, que almacena esta información de forma segura y encriptada.
  • Acceso Restringido: Asegúrate de que la credencial de MongoDB utilizada tenga permisos adecuados: lectura/escritura para los datos vectoriales, pero preferiblemente sin permisos de administración del sistema para minimizar riesgos.