Blog

Base de datos vectorial de Elasticsearch: envía en minutos, escala de manera accesible a cientos de miles de millones

Las partes difíciles de la recuperación híbrida, ya resueltas, con valores predeterminados optimizados, modelos de terceros y nativos de Jina AI e inferencia de GPU gestionada, todo listo para usar. Crea apps de IA rápidas y escalables en lugar de infraestructura.

Try out vector search for yourself using this self-paced hands-on learning for Search AI. You can start a free cloud trial or try Elastic on your local machine now.

Elasticsearch es una de las plataformas más ampliamente desplegadas para cargas de trabajo vectoriales en el mundo, potenciando la búsqueda semántica, retrieval augmented generation (RAG) y recomendaciones para empresas como GitHub, Docusign, Seismic y muchas otras. Hoy anunciamos Elasticsearch Vector Database, una nueva oferta sin servidor optimizada para aplicaciones basadas en vectores. Traes tus documentos y tus búsquedas, y nosotros nos encargamos de las incrustaciones y el ajuste del índice, junto con la infraestructura. Además, lo mantenemos barato y escalable. 

Para los nuevos usuarios, esta es la forma más rápida de poner en marcha la búsqueda de vectores de alta calidad. Si ya usas Elasticsearch, la nueva oferta es la búsqueda de vectores en la plataforma donde ya residen tus datos, sin necesidad de adoptar un sistema nuevo. Elasticsearch Vector Database admite una variedad de situaciones, desde fundamentación para un modelo de lenguaje grande (LLM) hasta dotar a un agente de IA de recuperación y memoria, y prestar servicio a cientos de miles de millones de vectores. Crea un nuevo proyecto y comienza en minutos.

Un motor, todos los casos de uso vectoriales

La base de datos vectorial de Elasticsearch está diseñada para cualquier persona que desarrolle aplicaciones con vectores:

  • RAG: recupera el contexto adecuado para tu LLM con la recuperación de vectores densos y dispersos, o elige la búsqueda híbrida combinando la recuperación vectorial y léxica. La calidad de tu generación mejora con la calidad de tu recuperación.

  • Agentes de IA: brinda a los agentes una recuperación rápida y filtrada de documentos y memoria de conversación, con las bajas latencias que demandan los bucles de agentes de varios pasos.

  • Búsqueda semántica: busca coincidencias según el significado, no por palabras clave, con un tipo de campo y cero código de pipeline.

  • Recomendaciones y similitud: encuentra los vecinos más cercanos en productos, imágenes o cualquier contenido que tengas, a escala.

Todo lo que tu carga de trabajo vectorial necesita, optimizado y listo para usar

Crear una aplicación basada en vectores implica conectar varias piezas independientes: configurar y alojar modelos de incrustación, indexar tus documentos a través de ellos, almacenar los vectores de forma eficiente, aplicar el modelo de incrustación a cada búsqueda, comparar con el almacenamiento vectorial y, por último, recuperar los documentos detrás de las coincidencias. La base de datos vectorial de Elasticsearch se encarga de todo por ti, sin configuración ni ajustes adicionales.

Indexación de vectores con el modo de índice vectordb_document

El modo de índice vectordb_document, una nueva configuración de índice diseñada especialmente para cargas de trabajo centradas en vectores, está activado de forma predeterminada, por lo que obtienes la configuración que elegirían los expertos. Esto es lo que activa:

  • bfloat16 de forma predeterminada: Los vectores se almacenan con la mitad del tamaño de float32 y un impacto insignificante en la recuperación, lo que reduce aproximadamente a la mitad el espacio en disco incluso antes de que entre en juego la cuantización.

  • Vectores de origen excluidos: en Elasticsearch, tus incrustaciones ya se encuentran en las estructuras de índice que se usan para la búsqueda; mantener una segunda copia sin procesar in _source solo infla el almacenamiento y ralentiza la recuperación de resultados. Excluimos el duplicado para que las respuestas se devuelvan más rápido y almacenes menos.

  • Los archivos adecuados precargados en caché: las estructuras de datos a las que primero acceden las búsquedas vectoriales se cargan en la memoria con anticipación, para que tu primera (y tu milésima) búsqueda sea ultrarrápida.

  • Combinación paralela: La combinación consolida los segmentos en estructuras vectoriales mejor organizadas, lo que mejora tanto la recuperación como la latencia, y ejecutar esas combinaciones en varios hilos permite lograrlo más rápido.

Almacenamiento de vectores, compresión y ajuste automático

  • Tus vectores se comprimen automáticamente. Better Binary Quantization (BBQ) reduce la huella de memoria de los vectores hasta 32 veces mientras conserva la recuperación, y DiskBBQ reduce aún más los requisitos de memoria para cargas de trabajo a gran escala. 

  • Opta por la autocalibración, que ajusta la cuantización de cada segmento a tus datos y la vuelve a calibrar en cada fusión a medida que los datos varían. Al probarse en 18 sets de datos, las búsquedas por segundo (QPS) mejoraron un promedio de 16.7 %, con mejoras en la recuperación en la mayoría de ellos.

Incrustaciones en inferencia por GPU administrada

Búsqueda híbrida y búsqueda vectorial filtrada

  • La búsqueda híbrida viene integrada, combinando la recuperación de texto completo y vectorial en una sola búsqueda. Combina los resultados con la fusión de rango recíproco (RRF) o cualquier otro mecanismo de combinación que quieras. La búsqueda vectorial suele ser la parte de la búsqueda híbrida más difícil de configurar bien. Con la base de datos vectorial de Elasticsearch, lo tienes resuelto y toda tu pila híbrida mejora. 

  • Con la búsqueda de vectores filtrada, aplica filtros de metadatos como parte de la propia recuperación de vectores y no como una idea de último momento que arruina la exhaustividad.

Empresarial desde el primer día

También obtienes control de acceso basado en roles (RBAC), logs de auditoría y las certificaciones de cumplimiento de las que generalmente carecen las bases de datos vectoriales dedicadas.

Accesible a escala y predecible

La base de datos vectorial de Elasticsearch está diseñada para seguir siendo accesible a medida que creces: la compresión BBQ y DiskBBQ que mantiene el almacenamiento lineal y la memoria baja significa que el escalado a cientos de miles de millones de vectores no disparará tu factura. Y lo que pagas se calcula a partir de números que ya conoces: cuántos datos almacenas y cuántos indexas, junto con cuánta capacidad de búsqueda necesitas. Estima tu cantidad de documentos y dimensiones de vectores, además de tu carga de búsqueda, y podrás calcular lo que pagarás antes de crear el proyecto. También puedes entender todos los conceptos de tu factura al final del mes. No hay unidades de cómputo opacas ni cargos sorpresa por operaciones en segundo plano.

Cómo comenzar con la base de datos vectorial de Elasticsearch

Crea un proyecto serverless de base de datos vectorial

Crea un nuevo proyecto sin servidor de base de datos vectorial en Elastic Cloud. Apunta los datos al endpoint y todo estará listo para indexar.

Crea un índice usando semantic_text

El modo de índice de vectores gestiona la configuración de vectores. Usar semantic_text significa que la configuración de las incrustaciones y la fragmentación se gestiona por ti, al igual que la configuración del índice, en inferencia de GPU gestionada, sin necesidad de crear un pipeline de incrustaciones.

PUT my-vectors
{
"mappings": {
"properties": {
"description": { "type": "semantic_text" }
    }
  }
}

Ingestar documentos

Indexa texto y las incrustaciones se generan para ti.

POST /my-vectors/_doc
{
  "id": "park_rocky-mountain",
  "title": "Rocky Mountain",
  "description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra."
}

Ejecuta una consulta de búsqueda semántica

Consulta el mismo campo semántico que acabas de crear:

GET /my-vectors/_search
{
  "query": {
    "semantic": {
      "field": "description",
      "query": "a mountain range in the middle of north america"
    }
  }
}

Y recibes los resultados:

{
  "took": 80,
  "hits": {
    "max_score": 0.7792325,
    "hits": [
      {
        "_index": "my-vectors",
        "_score": 0.7792325,
        "_source": {
          "id": "park_rocky-mountain",
          "title": "Rocky Mountain",
          "description": "Bisected north to south by the Continental Divide, ..."
        }
      }
    ]
  }
}

La búsqueda semántica es solo el comienzo. Ejecuta búsquedas totalmente textuales o combina ambas en búsquedas híbridas. Incluso puedes crear tus propias búsquedas de vectores para tener control total. Sigue la guía de inicio rápido de búsqueda semántica en la documentación para obtener todas las instrucciones.

Qué sigue para la búsqueda de vectores en Elasticsearch

Ya estamos trabajando en las próximas mejoras:

  • Mejor manejo de varios inquilinos: si tus datos deben mantenerse separados por inquilino, te daremos una forma de hacerlo más rápido y con menos código.

  • Optimización automática del índice: de "índice completamente nuevo" a "totalmente optimizado", con los menores ajustes posibles.

  • Mejoras continuas de la infraestructura: Ajuste continuo de la configuración y la infraestructura de la base de datos vectorial para obtener siempre el mejor rendimiento y las respuestas más rápidas.

Prueba la base de datos vectorial de Elasticsearch en Elastic Cloud Serverless

Pasa de un proyecto vacío a una búsqueda vectorial híbrida y filtrada en minutos, con valores predeterminados de nivel de producción que se encargan del ajuste por ti. Crea apps de IA rápidas y escalables en lugar de infraestructura.

Comienza con Elastic Cloud Serverless o explora la documentación completa y la referencia de la API.

¿Te ha sido útil este contenido?

Contenido relacionado

Cómo medir y mejorar la recuperación de búsqueda de Elasticsearch: de 0,43 a 0,75 con búsqueda híbrida

Cómo medir y mejorar la recuperación de búsqueda de Elasticsearch: de 0,43 a 0,75 con búsqueda híbrida

Jeffrey Rengifo
Cómo creamos Elasticsearch simdvec para hacer una de las búsquedas vectoriales más rápidas del mundo

Cómo creamos Elasticsearch simdvec para hacer una de las búsquedas vectoriales más rápidas del mundo

Chris Hegarty
Agrupación no supervisada de documentos con Elasticsearch + incrustaciones de Jina

Agrupación no supervisada de documentos con Elasticsearch + incrustaciones de Jina

Matthew Adams
Cuando TSDS se une a ILM: diseñar flujos de datos temporales que no rechazan los datos tardíos

Cuando TSDS se une a ILM: diseñar flujos de datos temporales que no rechazan los datos tardíos

Bret Wortman
LINQ a Elasticsearch ES|QL: escribir en C#, buscar en Elasticsearch

LINQ a Elasticsearch ES|QL: escribir en C#, buscar en Elasticsearch

Florian Bernd