Saltearse al contenido

MongoDB Atlas

MongoDB Atlas es un componente que te permite almacenar y buscar documentos usando vectores en tu base de datos MongoDB Atlas. Con él puedes añadir nuevos datos, buscar los más relevantes o simplemente obtener un objeto que te permita recuperar información más adelante.

¿Cómo funciona?

El componente crea una conexión a tu clúster de MongoDB Atlas usando la URI que has guardado en la credencial.
Una vez conectado, utiliza la librería MongoDBAtlasVectorSearch de LangChain para:

  1. Añadir: convierte los datos que le envías en documentos, genera sus embeddings con el modelo que elijas y los guarda en la colección indicada.
  2. Buscar: recibe una consulta de texto, calcula su embedding y devuelve los documentos más cercanos según la distancia vectorial.
  3. Retriever: devuelve un objeto Retriever que puedes usar en otros pasos de tu flujo para obtener documentos de forma dinámica.

Todo el proceso se hace en la nube, por lo que no necesitas instalar nada más que la librería pymongo y las dependencias de LangChain.

Operaciones

Este componente ofrece varias operaciones que puedes seleccionar según lo que necesites hacer. Solo puedes usar una operación a la vez:

  • Add: Añade nuevos documentos a la colección, generando sus embeddings y guardándolos en el índice especificado.
  • Search: Busca los documentos más similares a una consulta de texto y devuelve los resultados.
  • Retriever: Crea y devuelve un objeto Retriever que puede usarse en otras partes del flujo para obtener documentos según sea necesario.

Para usar el componente, primero selecciona la operación que necesitas en el campo Operation (Operación).

Entradas

Campos de Entrada

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Embedding: Modelo que se usará para generar los vectores de los documentos.

    • Visible en: Add, Search, Retriever
  • Ingest Data: Los datos que quieres añadir a la colección. Se aceptan objetos Data o cualquier otro formato que LangChain pueda convertir.

    • Visible en: Add
  • Operation: Selecciona la operación que quieres ejecutar (Add, Search o Retriever).

    • Visible en: Add, Search, Retriever
  • Collection Name: Nombre de la colección donde se guardarán los documentos.

    • Visible en: Add, Search, Retriever
  • Database Name: Nombre de la base de datos que contiene la colección.

    • Visible en: Add, Search, Retriever
  • Index Name: Nombre del índice vectorial que se usará para las búsquedas.

    • Visible en: Add, Search, Retriever
  • Number of Results: Número de documentos que quieres que devuelva la búsqueda.

    • Visible en: Add, Search, Retriever
  • Search Query: Texto que quieres buscar. Si lo dejas vacío, se devolverán todos los documentos.

    • Visible en: Search

Credencial
Este componente necesita una credencial de tipo MongoDB ATLAS.

  1. Ve a la sección de credenciales de Nappai y crea una nueva credencial MongoDB ATLAS.
  2. Introduce la MongoDB Atlas Cluster URI (ejemplo: mongodb+srv://<user>:<pwd>@cluster0.example.mongodb.net/?retryWrites=true&w=majority).
  3. En el componente, selecciona esa credencial en el campo Credential.
    Los campos de la credencial (como la URI) no aparecen en la lista de entradas.

Salidas

  • Retriever: Un objeto que permite recuperar documentos en pasos posteriores del flujo.
  • Results: Lista de documentos encontrados por la búsqueda.
  • Vector Store: El objeto VectorStore completo, útil si quieres usarlo directamente en otras operaciones de LangChain.

Ejemplo de Uso

Supongamos que quieres añadir un conjunto de artículos a tu base de datos y luego buscar los más relevantes cuando un usuario haga una consulta.

  1. Add

    • Selecciona la operación Add.
    • Conecta la salida de un componente que genere los artículos (por ejemplo, un scraper).
    • Configura el Embedding con el modelo que prefieras.
    • Establece el Collection Name, Database Name y Index Name.
    • Ejecuta el flujo: los artículos se guardarán con sus embeddings.
  2. Search

    • En otro paso, cambia la operación a Search.
    • Introduce la Search Query (por ejemplo, “últimas tendencias en IA”).
    • Ajusta Number of Results a 5.
    • El flujo devolverá los 5 artículos más similares.
  3. Retriever

    • Si quieres usar el retriever en un chatbot, selecciona la operación Retriever y conecta la salida a la entrada de tu modelo de lenguaje.
    • El chatbot podrá solicitar documentos relevantes en tiempo real.

Plantillas

(Esta sección se omite porque no hay plantillas que utilicen este componente.)

Componentes Relacionados

  • OpenAI Embeddings – Genera los embeddings que el componente necesita.
  • MongoDB Atlas Connection – Configura la conexión a tu clúster de MongoDB Atlas.
  • Data – Tipo de dato que se usa para pasar documentos entre componentes.

Consejos y Mejores Prácticas

  • Usa un índice bien configurado: Asegúrate de que el índice vectorial esté optimizado para el tipo de datos que manejas.
  • Controla el tamaño de los embeddings: Si usas embeddings muy grandes, la búsqueda puede volverse lenta.
  • Prueba con pocos resultados: Empieza con Number of Results = 3 para validar la calidad antes de aumentar el número.
  • Revisa la credencial: Si cambias la URI de tu clúster, actualiza la credencial antes de volver a usar el componente.

Consideraciones de Seguridad

  • La credencial MongoDB ATLAS contiene la URI y las credenciales de acceso. Asegúrate de que solo los usuarios autorizados tengan acceso a ella.
  • Evita exponer la URI en logs o en la salida de los flujos.
  • Si tu clúster está configurado con reglas de IP, añade la IP de los servidores de Nappai para evitar bloqueos.