Cómo generar automáticamente incrustaciones vectoriales para datos de texto en su colección y consultas
Puede implementar MongoDB Vector Search y habilitar la búsqueda semántica inteligente basada en IA en sus datos de texto mediante la incrustación automatizada en los índices de MongoDB Vector Search. Las capacidades de incrustación automatizada de MongoDB transforman el proceso tradicionalmente complejo de implementación de la búsqueda vectorial en una solución de un solo paso. En lugar de gestionar la infraestructura de incrustación, la selección de modelos y el código de integración por separado, ahora puede implementar la búsqueda semántica mediante una sencilla configuración de campos.
Al configurar los índices de Búsqueda Vectorial de MongoDB, se generan automáticamente incrustaciones vectoriales para los datos de texto de su colección, utilizando el modelo de incrustación de Voyage AI de vanguardia que usted seleccione. Estas incrustaciones se sincronizan a medida que cambian los datos y también admiten consultas de texto en lenguaje natural. Estas incrustaciones vectoriales capturan relaciones significativas en sus datos y permiten realizar búsquedas basadas en la intención en lugar de palabras clave.
Overview
Con un simple cambio de configuración, puede habilitar la búsqueda semántica, RAG y memoria para agentes de IA, sin necesidad de escribir código de incrustación, gestionar la infraestructura del modelo ni gestionar pipelines vectoriales. Es decir, al implementar MongoDB Community Edition con los procesos de búsqueda de MongoDB y búsqueda vectorial, mongot, puede proporcionar las claves API de Voyage AI para usarlas para generar incrustaciones, idealmente una para operaciones de indexación y otra para operaciones de consulta de diferentes proyectos.
Después de la implementación:
De su colección, elija el campo de texto para el que desea habilitar la búsqueda semántica.
De la lista de modelos de inserción disponibles, elija un modelo de inserción.
En la definición del índice de búsqueda vectorial de MongoDB, configure la incrustación automatizada utilizando el tipo
autoEmbed.
Para obtener más información sobre cómo configurar el índice de búsqueda vectorial de MongoDB para la incrustación automatizada, consulte Indexar un campo de texto.
MongoDB Vector Search genera automáticamente incrustaciones para documentos existentes y nuevos que inserte o actualice mediante el uso de Claves API que especificó al inicializar MongoDB Community Edition.
Nota
Las incrustaciones generadas se almacenan en una colección de sistema separada en el mismo clúster.
Para realizar consultas, utilice la query.text opción en la etapa de la $vectorSearch canalización. MongoDB Vector Search genera incrustaciones para la consulta de texto utilizando el mismo modelo de incrustación utilizado en la definición del índice. Puede especificar un modelo de incrustación diferente utilizando la model opción en la etapa de la $vectorSearch canalización, pero el modelo de incrustación especificado debe ser compatible con el utilizado en la indexación. MongoDB Vector Search utiliza la clave de API de consulta proporcionada durante la inicialización de MongoDB Community para generar las incrustaciones en la consulta. Para obtener más información, consulte Ejecutar una consulta de texto.
Se aplicarán cargos por generar incrustaciones con las claves API. Para obtener más información, consulte Costos.
Para automatizar incorporaciones y ejecutar una consulta de muestra,consulte Comenzar.
Claves API de VoyageAI
Si bien puede utilizar una única clave API para generar incrustaciones en el momento del índice y en el momento de la consulta, le recomendamos que utilice claves API independientes para evitar que las operaciones de consulta afecten negativamente a las operaciones de indexación.
Puedes generar claves API de las siguientes formas:
(Recomendado) Usar su cuenta Atlas, que le permite administrar su clave API del modelo de incorporación de Voyage AI desde la interfaz de usuario de Atlas.
Para obtener más información sobre cómo generar y administrar claves API, incluida la configuración de los límites de velocidad (que es una combinación de TPM y RPM) y el monitoreo del uso de claves API, consulte Claves API de modelo.
Para obtener más información sobre cómo administrar las claves API creadas desde Voyage AI, consulte Clave API.
Después de crear las claves, debe especificar las claves que desea usar para la incrustación automática al configurar mongot durante la implementación con MongoDB Community Edition. MongoDB Vector Search utiliza la clave de API de Voyage AI que proporcionó durante la implementación de mongot para generar automáticamente incrustaciones para sus datos en el índice y para el texto de la consulta en el momento de la consulta.
Modelos de incrustación compatibles
MongoDB Vector Search se integra con los modelos de integración de última generación de Voyage AI, cada uno optimizado para un caso de uso específico:
Modelo de incrustación | Descripción |
|---|---|
| Optimizado para aplicaciones de gran volumen y sensibles a los costos. |
| (Recomendado) Rendimiento equilibrado para búsqueda de texto general. |
| Máxima precisión para relaciones semánticas complejas. |
| Especializado en búsqueda de código y documentación técnica. |
Costos
El precio del modelo de incrustación se basa en el uso, y los cargos se facturan a la cuenta vinculada a la clave API utilizada para el acceso. El precio se basa en la cantidad de tokens en el campo de texto y las consultas.
Nota
En el contexto de los modelos de incrustación y los LLM, los tokens son las unidades fundamentales de texto, como palabras, subpalabras o caracteres, que el modelo procesa para crear incrustaciones o generar texto. Los tokens son el método de facturación por el uso de los modelos de incrustación y los LLM.
Si usa la clave API que creó con su cuenta de Atlas, puede supervisar su uso desde la interfaz de usuario de Atlas. Para obtener más información, consulte Facturación.
Si generó la clave API directamente desde Voyage AI, consulte Precios para obtener más información sobre el cargo por solicitudes al punto final del servicio de integración.
Limitaciones
Mientras esté en vista previa, la funcionalidad de incrustación automatizada aún no está disponible para los siguientes tipos de implementación:
Cúmulos del Atlas
Implementaciones locales de Atlas mediante la CLI de Atlas
Edición de MongoDB Enterprise
Esta función solo está disponible para implementaciones de MongoDB Search y MongoDB Vector Search que utilicen Docker, tarball o un administrador de paquetes y para implementaciones que utilicen el operador MongoDB Controllers for Kubernetes con MongoDB 8.2 o una versión posterior de Community Edition.
Empezar
Utilice el siguiente tutorial para aprender a configurar MongoDB Vector Search para generar automáticamente incrustaciones vectoriales. En concreto, realice las siguientes acciones:
Indexe el campo o los campos de su colección que contienen datos de texto para los que desea generar incrustaciones automáticamente en el momento de la indexación.
Ejecute una consulta de texto en los campos indexados utilizando incrustaciones generadas automáticamente en el momento de la consulta.
Este tutorial utiliza el espacio de nombres sample_airbnb.listingsAndReviews para demostrar cómo indexar un campo de texto,, summary en la colección para generar automáticamente incrustaciones en el momento de la indexación y ejecutar una consulta de texto contra el camposummary indexado,, utilizando incrustaciones generadas en el momento de la consulta.
Requisitos previos
Para completar este tutorial, debes tener lo siguiente:
Implementación autogestionada de MongoDB v8.2 o posterior Community Edition con MongoDB Search y MongoDB Vector Search
Para obtener más información,consulte Instalar MongoDB Community Edition.
Clave o claves API de Voyage AI válidas
Para obtener más información, consulte Claves API de Voyage AI.
Indexar un campo de texto
La definición de índice que crea en este tutorial indexa los siguientes campos en la colección sample_airbnb.listingsAndReviews:
summarycampo como tipoautoEmbedpara generar automáticamente incrustaciones para los datos de texto en el campo utilizando el modelo de incrustaciónvoyage-4.address.countrycampo como tipofilterpara prefiltrar los datos para la búsqueda semántica utilizando el valor de cadena en el campo.bedroomcampo como tipofilterpara prefiltrar los datos para la búsqueda semántica utilizando el valor numérico en el campo.
Para crear este índice:
Ejecutar una consulta de texto
La consulta en este tutorial hace lo siguiente:
Se ejecuta en el campo indexado
summaryen la colecciónsample_airbnb.listingsAndReviews.Filtra previamente las propiedades utilizando los siguientes criterios:
Propiedades que tienen
3o másbedrooms.Propiedades en el
countryllamadoUnited States.
Realiza una búsqueda semántica de propiedades
close to amusement parksutilizando las incrustaciones generadas automáticamente con el modelo de incrustaciónvoyage-4. La consulta:Considera hasta
100vecinos más cercanos.Limita los resultados a
10documentos.
Para ejecutar esta consulta: