Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Genera incrustaciones automáticamente usando MongoDB Vector Search

Importante

Los índices de MongoDB Vector Search de tipo text están obsoletos, ya que nos preparamos para pasar de la vista previa privada a la vista previa pública. Para obtener más información, consulte Funcionalidades de vista previa.

Puedes configurar MongoDB Vector Search para que genere y gestione automáticamente las incrustaciones vectoriales de los datos de texto en tu clúster. Puedes crear un índice de búsqueda semántica de IA con un solo clic en tu clúster de Atlas M10 o superior y utilizar modelos de embedding de Voyage AI, simplificando la indexación, actualización y consulta con vectores.

Cuando habilita la incrustación automatizada, MongoDB Vector Search genera automáticamente las incrustaciones utilizando el modelo de incrustación especificado en el momento de indexación para el campo de texto especificado en su colección Atlas y en el momento de la consulta para su string de texto en su query contra el campo indexado para incrustaciones automatizadas.

Importante

Puedes utilizar el Embedding Automatizado de Búsqueda Vectorial de MongoDB en cualquier clúster M10 o superior en cualquier proveedor de nube. Sin embargo, el servicio que gestiona el proceso de inferencia para generar incrustaciones vectoriales se ejecuta en Google Cloud. Esto significa que tus datos se envían a Google Cloud para la generación y recuperación de incrustaciones, independientemente del proveedor de nube de tu clúster. Proporcionamos seguridad de nivel empresarial y, por lo tanto, sus datos sólo se almacenan en su clúster.

Los modelos de embedding se ejecutan en una plataforma de inferencia compartida y multi-inquilino. Por lo tanto, durante el período de vista previa, debe utilizar conjuntos de datos con menos de 100k documentos y ejecutar queries solo para la evaluación de la funcionalidad y no para las pruebas de carga. Contacta con tu equipo de cuenta si tienes un caso de uso con límites superiores.

Aunque no hay límites estrictos de velocidad para tu carga de trabajo, hay límites globales. Si tus queries devuelven un error de límite de velocidad (error 409), realiza un backoff y vuelve a intentarlo en el código de tu aplicación. Esto permite que tu aplicación gestione adecuadamente los límites de velocidad y garantice su funcionalidad continua.

Para habilitar la búsqueda vectorial utilizando la Incorporación Automática, debes contar con lo siguiente:

  • M10 o clúster superior

  • Una colección con un campo de texto que deseas indexar para incrustaciones automáticas.

  • Uno de los siguientes clientes:

    • Interfaz de usuario de Atlas para crear índices

    • mongosh para crear índices y ejecutar consultas

    • nodo Driver 6.6.0 o superior para crear índices y ejecutar queries

    • Controlador de Python 4.7 o superior para crear índices y ejecutar consultas

Las siguientes secciones describen la sintaxis y los campos del índice de búsqueda vectorial de MongoDB para habilitar la generación automática de embeddings para campos de texto, y le guiarán a través de los pasos para configurar su índice para la incrustación automática.

Necesitas el rol de Project Data Access Admin o superior para crear y gestionar los índices de MongoDB Vector Search.

La siguiente es la sintaxis para habilitar la generación automática de incrustaciones:

1{
2 "fields": [
3 {
4 "type": "text",
5 "path": "<field-name>",
6 "model": "voyage-3-large | voyage-3.5 | voyage-3.5-lite"
7 }
8 ]
9}

Se requieren los siguientes campos en la definición del índice:

Campo
Tipo
Descripción

type

string

El tipo del campo. Para el embedding automatizado, esto debe ser text.

path

string

El nombre del campo en la colección que desea indexar para la inserción automatizada.

model

string

El modelo de incrustación de IA de Voyage que se utilizará para generar las incrustaciones para el índice. Puede especificar uno de los siguientes modelos:

  • voyage-3-large - Recuperación de la más alta calidad en todos los lenguajes y dominios.

  • voyage-3.5 - Modelo equilibrado para el uso multilingüe y la precisión general en la recuperación de información.

  • voyage-3.5-lite - Modelo ligero y rápido optimizado para baja latencia y menor costo.

Después de crear el índice, si cambias el modelo de incrustación posteriormente, MongoDB Vector Search genera nuevas incrustaciones para el conjunto de datos. Mientras MongoDB Vector Search genera las incrustaciones, puedes continuar realizando consultas con las incrustaciones antiguas. Cuando las incrustaciones antiguas se reemplazan por incrustaciones del nuevo modelo de incrustación, MongoDB Vector Search las remueve.

Los campos de índices para la inserción automatizada son mutuamente excluyentes con los siguientes campos de índice de tipo vector:

  • numDimensions

  • similarity

  • quantization

Si tu colección ya tiene embeddings, debes usar los campos de tipo vector para indexar los embeddings. Para obtener más información sobre indexar campos con incrustaciones, consulta Cómo indexar campos para la búsqueda vectorial.

Puede crear un índice con ambos tipos text y vector si desea indexar un campo de texto para generar incrustaciones automáticamente y también indexar un campo con sus propias incrustaciones. MongoDB Vector Search generará automáticamente embeddings para las consultas solo contra el campo indexado como el tipo text. Debe especificar embeddings en la query para buscar en el campo indexado como tipo vector.

También puedes indexar campos para filtrar previamente los datos con el tipo filter de MongoDB Vector Search.

Importante

Las **query**s filtradas suelen ser más lentas que una **query** no filtrada equivalente.

Para obtener más información sobre el prefiltrado de tus datos, consulta Sobre el tipo filter.

El siguiente procedimiento explica los pasos para habilitar incrustaciones automatizadas en tu índice de MongoDB Vector Search. Si ha cargado el conjunto de datos sample_mflix.movies, el ejemplo del procedimiento demuestra cómo activar la incorporación automática para el campo fullplot en la colección.

Después de crear un índice con automated embedding, puedes ejecutar consultas de texto en el campo indexado. MongoDB Vector Search genera automáticamente incrustaciones para la string en tu query utilizando el mismo modelo de incrustación especificado en el índice. Utiliza las incrustaciones para buscar en el índice documentos que sean semánticamente similares al texto de la query especificada.

Las siguientes secciones describen la $vectorSearch sintaxis y campos de la canalización para la generación automática de embeddings para tu texto de query en el campo indexado para Embeddings Automáticos y demuestran cómo ejecutar consultas de búsqueda semántica en los campos indexados para Embeddings Automáticos.

La siguiente sintaxis demuestra cómo ejecutar una query en un campo indexado para Embedding Automatizado:

1{
2 "$vectorSearch": {
3 "index": "<index-name>",
4 "limit": <number-of-results>,
5 "numCandidates": <number-of-candidates>,
6 "path": "<field-to-search>",
7 "query": "<query-string>"
8 }
9}

Los siguientes campos son necesarios para una query de MongoDB Vector Search utilizando embeddings automáticos:

Campo
Tipo
Necesidad
Descripción

exact

booleano

Condicional

Este campo es obligatorio si se omite numCandidates. Mutuamente excluyentes con numCandidates.

Indicador que especifica si se debe ejecutar la búsqueda de ENN o ANN. El valor puede ser uno de los siguientes:

  • false - para ejecutar la búsqueda de ANN

  • true - para ejecutar la búsqueda de ENN

Si se omite, es por defecto false.

index

string

Requerido

Nombre del índice de búsqueda vectorial de MongoDB que se utilizará.

La búsqueda vectorial de MongoDB no devuelve resultados si escribe mal el nombre del índice o si el índice especificado no existe ya en el clúster.

limit

Número

Requerido

Número de documentos (solo de tipo int) que se devolverán en los resultados. Este valor no puede superar el valor de numCandidates si especifica numCandidates.

numCandidates

Número

Condicional

Este campo es obligatorio si exact es false o se omite. Se excluye mutuamente con exact.

Número de vecinos más cercanos a utilizar durante la búsqueda. El valor debe ser menor o igual a (<=) 10000. No puede especificar un número inferior al número de documentos a devolver (limit).

path

string

Requerido

Campo de tipo vector indexado para la búsqueda.

query

string

Requerido

Texto para el que generar automáticamente embeddings y realizar la búsqueda semántica.

Se puede ejecutar una query ANN o ENN sobre el campo indexado. Para aprender más, se puede consultar Búsqueda ANN y Búsqueda ENN.

No se pueden especificar incrustaciones vectoriales en la query de campos indexados para la incrustación automatizada. En su lugar, debes ejecutar una query en lenguaje natural contra el campo. Cuando ejecutes una query en lenguaje natural contra el campo indexado para embedding automatizado, MongoDB Vector Search genera automáticamente los embeddings para el texto de la query utilizando el mismo modelo de embeddings que el campo indexado. Luego utiliza las incrustaciones generadas para llevar a cabo una búsqueda semántica en el campo indexado.

Opcionalmente, se puede especificar filter campos en la query para filtrar previamente los documentos con los que MongoDB Vector Search realiza la búsqueda semántica. Para aprender más, se puede consultar MongoDB Vector Search Pre-Filtering.

También puedes, de manera opcional, recuperar la puntuación de los documentos en los resultados. Para obtener más información, consulta MongoDB Vector Search Scoring.