Puedes configurar MongoDB Vector Search para generar y administrar automáticamente incrustaciones vectoriales para los datos de texto en tu clúster Atlas. Al habilitar la incrustación automatizada, MongoDB Vector Search genera automáticamente incrustaciones utilizando el modelo de incrustación de Voyage AI especificado en el momento de la indexación para el campo de texto especificado en tu colección y en el momento de la consulta para la cadena de texto en tu consulta.
La incrustación automatizada simplifica el proceso de creación de búsquedas semánticas. No es necesario generar, almacenar ni gestionar las incrustaciones vectoriales manualmente. Atlas se encarga de la generación, actualización y consulta de las incrustaciones de forma nativa.
Nota
Debe habilitar el escalado automático con un tamaño máximo de instancia de M30 o superior para que los clústeres M10 y M20 utilicen la incrustación automatizada. Para todos los demás niveles de clúster, la incrustación automatizada está habilitada de forma predeterminada.
Puedes implementar MongoDB Vector Search y habilitar una búsqueda semántica inteligente potenciada por IA en tus datos de texto mediante la incrustación automatizada en los índices de MongoDB Vector Search. Las capacidades automatizadas de Embedded de MongoDB transforman el proceso tradicionalmente complejo de implementación de búsqueda vectorial en una solución de un solo paso. En lugar de gestionar infraestructura de embedding por separado, elección de modelos y código de integración, ahora puedes implementar una búsqueda semántica mediante la simple configuración de campos.
Cuando configuras los índices de MongoDB Vector Search, este genera automáticamente incrustaciones vectoriales para los datos de texto de tu colección, utilizando tu selección de un modelo de incrustación de vanguardia de Voyage AI, mantiene las incrustaciones sincronizadas a medida que cambian tus datos y también soporta el uso de consultas de texto en lenguaje natural. Estos embeddings vectoriales capturan relaciones significativas en tus datos y permiten búsquedas basadas en la intención en lugar de palabras clave.
Habilitar y utilizar la incrustación automatizada
Para habilitar la incrustación automatizada, cree un índice de búsqueda vectorial de MongoDB con el tipo autoEmbed. El tipo autoEmbed especifica el campo para el que desea habilitar la incrustación automatizada y el modelo de incrustación que desea utilizar. También puede incluir uno o más campos para prefiltrar sus datos con el tipo filter.
1 { 2 "fields": [ 3 { 4 "type": "autoEmbed", 5 "modality": "text", 6 "path": "<field-to-index>", 7 "model": "<embedding-model>" 8 }, 9 { 10 "type": "filter", 11 "path": "<field-to-index>" 12 }, 13 ... 14 ] 15 }
Para obtener más información sobre la sintaxis y los campos del índice, consulte Cómo indexar campos para la búsqueda vectorial.
La función Vector Search de MongoDB genera automáticamente incrustaciones para los documentos existentes y nuevos que usted inserte o actualice.
Una vez creado el índice, puede ejecutar sus consultas. MongoDB Vector Search genera automáticamente incrustaciones para el texto de su consulta utilizando el mismo modelo de incrustación que especificó en el índice. Opcionalmente, puede especificar un modelo de incrustación diferente mediante la model opción en la etapa de la $vectorSearch canalización, pero el modelo de incrustación especificado debe ser compatible con el modelo de incrustación utilizado durante la indexación.
1 [ 2 { 3 "$vectorSearch": { 4 "index": "<index-name>", 5 "path": "<field-to-index>", 6 "query": "<query-text>", 7 "model": "<embedding-model>" 8 } 9 }, 10 { 11 "$project": { 12 "_id": 0, 13 "<field-to-index>": 1, 14 "score": { "$meta": "vectorSearchScore" } 15 } 16 } 17 ]
Para obtener más información, consulte Ejecutar consultas de Vector Search.
Nota
Esta función está disponible para MongoDB Search y MongoDB Vector Search. Implementaciones mediante Docker, tarball o un gestor de paquetes, y para implementaciones mediante el operador de controladores de MongoDB para Kubernetes con MongoDB 8.2 o posterior Community Edition. La funcionalidad de incrustación automatizada aún no está disponible para MongoDB Enterprise Edition.
Con un simple cambio de configuración, puede habilitar la búsqueda semántica,RAG y la memoria paramongot agentes de IA, sin necesidad de escribir código de incrustación, administrar la infraestructura del modelo ni gestionar las canalizaciones vectoriales. Es decir, al implementar MongoDB Community Edition con el proceso de búsqueda y búsqueda vectorial de MongoDB,, puede proporcionar las claves de API de Voyage AIpara generar incrustaciones, idealmente una para operaciones de indexación y otra para operaciones de consulta de diferentes proyectos.
Después de la implementación:
Desde tu colección, elige el campo de texto para el que deseas habilitar la búsqueda semántica.
De la lista de modelos de incrustación disponibles, selecciona un modelo de incrustación.
En tu definición de índice de MongoDB Vector Search, configura Embedding Automatizado usando 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 Cómo indexar campos para la búsqueda vectorial.
MongoDB Vector Search genera automáticamente incrustaciones para documentos existentes y nuevos que insertas o actualizas usando el Las claves API que especificó al inicializar MongoDB Community Edition.
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 que en la definición del índice. Puede especificar un modelo de incrustación diferente mediante la model opción en la etapa de la $vectorSearch canalización, pero el modelo de incrustación especificado debe ser compatible con el modelo de incrustación utilizado en el momento de la indexación. MongoDB Vector Search utiliza la clave de API de consulta que proporcionó durante la inicialización de MongoDB Community para generar las incrustaciones en el momento de la consulta. Para obtener más información, consulte Ejecutar consultas de Vector Search.
Se le cobrará por generar elementos incrustados mediante las claves API. Para obtener más información, consulte la sección Gestionar facturación.
Para automatizar las incrustaciones y ejecutar una consulta de ejemplo, consulte la Guía de inicio rápido de MongoDB Vector Search.
Voyage IA API Claves
Si bien puede usar una única clave de API para generar embeddings tanto en el momento de indexación como en el momento de query, le recomendamos que use claves de API separadas para evitar que las operaciones de query afecten negativamente las operaciones de indexación.
Puedes generar claves API de las siguientes formas:
(Recomendado) Utilizar tu cuenta de Atlas, lo que te permite gestionar tu clave API del modelo de embeddings Voyage IA desde la Interfaz de Usuario de Atlas.
Para aprender más sobre la generación y gestión de claves API, incluida la configuración de los límites de velocidad (que es una combinación de TPM y RPM) y la supervisión del uso de la clave API, consulta Claves API del modelo.
Para obtener más información sobre la gestión de las claves API creadas en Voyage IA, consulta Clave API.
Después de crear las claves, debes especificar las claves que deseas utilizar para la incrustación automatizada al configurar mongot durante la implementación con MongoDB Community Edition. MongoDB Vector Search utiliza la clave de la API de Voyage IA que proporcionaste durante la implementación de mongot para generar automáticamente incrustaciones para tus datos en el índice y para tu texto de query en tiempo de query.
Almacenamiento de incrustaciones
Los índices de incrustación automatizada generan incrustaciones vectoriales de forma asíncrona y las almacenan en una base de datos de reserva independiente en su clúster de MongoDB. Cada índice de incrustación automatizada tiene exactamente una colección de incrustaciones generadas correspondiente. Esta colección se almacena en una base de datos interna dedicada en el mismo clúster.
Para obtener más información, consulte la Colección de incrustaciones generadas.
Modelos disponibles
MongoDB Vector Search se integra con los modelos de incrustaciones de última generación de Voyage AI, cada uno optimizado para un caso de uso específico:
Modelo de incrustación | Descripción | Precio por 1M tokens |
|---|---|---|
| Optimizados para aplicaciones de alto volumen y sensibles al costo. | $0.02 |
| (Recomendado) Rendimiento equilibrado para búsqueda de texto general. | $0.06 |
| Máxima precisión para relaciones semánticas complejas. | $0.12 |
| Especializado en búsqueda de código y documentación técnica. | $0.18 |
Para obtener más información, consulte Modelos para la incrustación automatizada.
Conceptos clave
- modelo de incrustación
Los modelos de incrustación son algoritmos que convierten datos en incrustaciones vectoriales que capturan el significado semántico o subyacente de los datos. Estos vectores permiten realizar búsquedas vectoriales.
Para obtener más información sobre los modelos de incrustación para la incrustación automatizada, consulte Modelos disponibles.
- embeddings vectoriales
Una incrustación vectorial es un arreglo de números, siendo cada dimensión la representación de una funcionalidad o atributo diferente de sus datos. Los vectores se pueden utilizar para representar cualquier tipo de datos, desde texto, imágenes y videos hasta datos no estructurados. Crea representaciones vectoriales pasando tus datos por un modelo de representaciones, y puedes almacenar estas representaciones en una base de datos que soporte representaciones vectoriales como MongoDB.
Para obtener más información sobre el almacenamiento de incrustaciones para la incrustación automatizada, consulte la sección "Recopilación de incrustaciones generadas".
- tokens
En el contexto de los modelos de embebido y los LLM, los tokens son las unidades fundamentales de texto, como palabras, subpalabras o caracteres, que el modelo procesa para crear embebidos o generar texto. Los tokens son la forma en que se le factura por el uso de modelos de incrustación y LLMs.
Para obtener más información sobre los tokens para la incrustación automatizada, consulte la sección "Gestionar la facturación para la incrustación automatizada".
- límites de velocidad
Los límites de tasa son restricciones impuestas por los proveedores de API respecto a la cantidad de solicitudes que un usuario puede realizar en un período de tiempo específico, a menudo medidos en tokens por minuto (TPM) o solicitudes por minuto (RPM). Estos límites garantizan un uso equitativo, previenen abusos y mantienen la estabilidad y el rendimiento del servicio para todos los usuarios.
Para obtener más información sobre los límites de velocidad para la incrustación automatizada, consulte Límites de velocidad.
- cuantización
La cuantización reduce la precisión de las incrustaciones vectoriales para disminuir el uso de memoria y almacenamiento, con la consiguiente pérdida de precisión en la búsqueda. Para la incrustación automatizada, MongoDB Vector Search admite los siguientes tipos de cuantización:
Tipo de cuantificaciónDescripciónfloatAlmacena las incrustaciones vectoriales como valores flotantes de 32bits.
scalarReduce cada dimensión del vector de un número flotante de 32bits a un número entero de 8bits.
binaryReduce cada dimensión del vector a un solo bit y vuelve a puntuar los mejores resultados.
binaryNoRescoreReduce cada dimensión del vector a un solo bit sin recalcular la puntuación.
Para obtener más información sobre la cuantización para la incrustación automatizada, consulte la sección Acerca de la cuantización.
- número de dimensiones
El número de dimensiones especifica la longitud del vector de incrustación para cada documento (cuántos números contiene la matriz). Un mayor número de dimensiones captura más detalles semánticos y, por lo general, mejora la precisión de la recuperación, pero aumenta los costos de almacenamiento y procesamiento (tamaño del índice, uso de RAM y, en ocasiones, latencia).
Para obtener más información, consulte
numCandidatesSelección.- semejanza
La función de similitud se utiliza para medir la similitud entre dos vectores o la proximidad de un vector de consulta a los vectores del índice. MongoDB Vector Search admite las siguientes funciones de similitud:
cosine- mide la similitud basándose en el ángulo entre vectores.dotProduct- Mide la similitud comocosine, pero tiene en cuenta la magnitud del vector. Recomendamos esta función de similitud para la cuantización de fidelidad completa oscalar.euclidean- mide la distancia entre los extremos de los vectores. Recomendamos esta función de similitud para la cuantizaciónbinaryobinaryNoRescore, donde los vectores están comprimidos y la distancia en el espacio de Hamming o euclidiano es la señal adecuada.
Para obtener más información sobre las funciones de similitud para la incrustación automatizada, consulte la sección Acerca de las funciones de similitud.