Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Cómo generar automáticamente incrustaciones vectoriales para datos de texto en su colección y consultas

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.

Con un simple cambio de configuración, puedes habilitar la búsqueda semántica, RAG, y memoria para agentes de IA, sin escribir código de integración, sin gestionar la infraestructura de modelos ni manipular pipelines de vectores. Es decir, cuando se implementa la Edición Comunitaria de MongoDB con el proceso MongoDB Search 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:

  1. Desde tu colección, elige el campo de texto para el que deseas habilitar la búsqueda semántica.

  2. De la lista de modelos de inserción disponibles, elija un modelo de inserción.

  3. 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 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 Las 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 consultar, utiliza la opción query.text en la etapa de pipeline $vectorSearch. MongoDB Vector Search genera incrustaciones para la text query utilizando el mismo modelo de incrustación en la definición del índice. Puedes especificar un modelo de embedding diferente utilizando la opción model en la etapa de pipeline $vectorSearch, pero el modelo de embedding especificado debe ser compatible con el modelo de embedding utilizado en el momento del índice. MongoDB Vector Search utiliza la API key de query que has proporcionado durante la inicialización de MongoDB Community para generar las embeddings en tiempo de query. Para obtener más información, consulta Ejecute una Text query.

Usted incurrirá en cargos por generar incrustaciones utilizando las claves de la API. Para obtener más información, consulte Costos.

Para automatizar incorporaciones y ejecutar una consulta de muestra,consulte Comenzar.

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:

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.

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

voyage-4-lite

Optimizados para aplicaciones de alto volumen y sensibles al costo.

voyage-4

(Recomendado) Rendimiento equilibrado para búsqueda de texto general.

voyage-4-large

Máxima precisión para relaciones semánticas complejas.

voyage-code-3

Especializado en búsqueda de código y documentación técnica.

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 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.

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 generaste la clave API directamente desde Voyage IA, consulta Precios para aprender más sobre el cobro por solicitudes al endpoint del servicio de embedding.

Mientras esté en vista previa, la funcionalidad de Integración Automática aún no está disponible para los siguientes tipos de implementación:

  • Cúmulos del Atlas

  • implementaciones locales de Atlas utilizando Atlas CLI

  • Edición de MongoDB Enterprise

La funcionalidad solo está disponible para MongoDB Search y MongoDB Vector Search implementaciones usando Docker, tarball o un gestor de paquetes y para implementaciones que utilizan los controladores de MongoDB para el operador de Kubernetes con MongoDB Community Edition 8.2 o posterior.

Utilizar el siguiente tutorial para aprender a configurar MongoDB Vector Search para generar automáticamente incrustaciones vectoriales. En concreto, llevas a cabo las siguientes acciones:

  1. 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.

  2. Ejecuta una consulta de texto en los campos indexados usando embeddings generados automáticamente en el momento de la query.

Este tutorial utiliza la muestra_airbnb.listingsAndReviews namespace para demostrar cómo índice un campo de texto, summary, en la colección para generar automáticamente embeddings en el momento del índice y ejecutar una query de texto en el campo indexado, summary, utilizando los embeddings generados en el momento de la query.

Para completar este tutorial, debes tener lo siguiente:

La definición de índice que creas en este tutorial indexa los siguientes campos en la colección sample_airbnb.listingsAndReviews:

  • summary campo como el tipo autoEmbed para generar automáticamente incrustaciones para los datos de texto en el campo utilizando el modelo de incrustación voyage-4.

  • address.country campo como tipo filter para prefiltrar los datos para la búsqueda semántica utilizando el valor de cadena en el campo.

  • bedroom campo como el tipo filter para prefiltrar los datos en la búsqueda semántica utilizando el valor numérico en el campo.

Para crear este índice:

La query en este tutorial realiza lo siguiente:

  1. Se ejecuta contra el campo indexado summary en la colección sample_airbnb.listingsAndReviews.

  2. Filtra previamente las propiedades utilizando los siguientes criterios:

    • Propiedades que tengan 3 o más bedrooms.

    • Propiedades en el country llamado United States.

  3. Realiza una búsqueda semántica de propiedades close to amusement parks utilizando las incrustaciones generadas automáticamente con el modelo de incrustación voyage-4. La consulta:

    • Considera hasta 100 vecinos más cercanos.

    • Limita los resultados a 10 documentos.

Para ejecutar esta consulta:

Para comprobar el estado de su índice de MongoDB Vector Search, ejecute el siguiente comando después de reemplazar los siguientes marcadores de posición:

<connection-string>

Su cadena de conexión al clúster.

<database-name>

El nombre de la base de datos de la colección.

<collection-name>

El nombre de la colección para la que creó el índice.

mongosh <connection-string>/<database-name> --eval '
db.<collection-name>.getSearchIndexes().forEach(printjson);
'

El comando anterior se conecta a su clúster y, para la colección especificada en la base de datos especificada, itera a través de cada índice de la colección y devuelve la definición del índice en formato JSON.

Ejemplo

Ejemplo de comando para recuperar índices en la colección de películas

mongosh "mongodb://localhost:27017/sample_mflix" --eval '
db.movies.getSearchIndexes().forEach(printjson);
'
{
id: '698d005f8bf34e5e6624d086',
name: 'vector_index',
type: 'vectorSearch',
status: 'READY',
numDocs: 21349,
latestDefinition: {
type: 'vectorSearch',
indexID: ObjectId('698d005f8bf34e5e6624d086'),
name: 'vector_index',
database: 'sample_mflix',
lastObservedCollectionName: 'movies',
collectionUUID: UUID('3920f806-ec08-46ae-a73e-8e1e191e85f5'),
numPartitions: 1,
fields: [
{
type: 'autoEmbed',
path: 'fullplot',
model: 'voyage-4',
modality: 'text'
}
],
definitionVersion: 0,
definitionVersionCreatedAt: '2026-02-11T22:19:11Z',
indexFeatureVersion: 4
}
}

Para verificar que MongoDB Vector Search haya generado incrustaciones para sus datos de texto indexados, ejecute el siguiente comando después de reemplazar el marcador de posición <connection-string> con su cadena de conexión del clúster:

mongosh <connection-string> --eval '
print("Embeddings: " +
db.getSiblingDB("__mdb_internal_search")
.getCollectionNames()
.filter(c => c.match(/^[0-9a-f]{24}$/))
.map(c => db.getSiblingDB("__mdb_internal_search").getCollection(c).countDocuments())
.reduce((a,b) => a+b, 0)
);
'

El comando anterior se conecta a su clúster y devuelve el número total de incrustaciones vectoriales almacenadas en todas las colecciones de su implementación.

Ejemplo

Ejemplo de comando para recuperar el recuento de incrustaciones

mongosh "mongodb://localhost:27017/" --eval '
print("Embeddings: " +
db.getSiblingDB("__mdb_internal_search")
.getCollectionNames()
.filter(c => c.match(/^[0-9a-f]{24}$/))
.map(c => db.getSiblingDB("__mdb_internal_search").getCollection(c).countDocuments())
.reduce((a,b) => a+b, 0)
);
'
Embeddings: 21349

Volver

Compatibilidad y limitaciones

Obtén una insignia de habilidad

¡Domina "RAG con MongoDB" gratis!

Más información

En esta página