Nos complace anunciar el lanzamiento de Couchbase Lite 3.2 con soporte para búsqueda vectorial. Este lanzamiento sigue la estela de Soporte de búsqueda vectorial en Capella y Couchbase Server 7.6Ahora, con el soporte de búsqueda vectorial en Couchbase Lite, habilitamos soporte de la nube al perímetro para la búsqueda vectorial que impulsa las aplicaciones de IA en la nube y en el perímetro.

En esta entrada del blog, voy a discutir los beneficios clave de apoyar la búsqueda vectorial en el borde, incluyendo una breve mirada a los casos de uso que caen dentro de sus aplicaciones Couchbase Lite.

¿Qué es la búsqueda vectorial?

Búsqueda vectorial es una técnica para recuperar semánticamente artículos similares basados en incrustación vectorial representaciones de los elementos en un espacio multidimensional. Las métricas de distancia se utilizan para determinar la similitud entre elementos. La búsqueda vectorial es un componente esencial de IA Generativa y aplicaciones de IA predictiva.  

Pila móvil Couchbase

Si eres nuevo en Couchbase, aquí tienes una introducción rápida a Couchbase Mobile. 

Couchbase Mobile es un primero fuera de líneaplataforma de base de datos de nube a borde. Se compone de lo siguiente: 

Base de datos en la nube: Disponible como base de datos como servicio totalmente gestionada y alojada con Couchbase Capella, o desplegar y alojar Servidor Couchbase por tu cuenta.

Base de datos integrada: Couchbase Lite  es una completa base de datos NoSQL integrada para aplicaciones móviles, de escritorio e IoT. 

Sincronización de datos: Una pasarela segura para la sincronización de datos a través de la Web, así como la sincronización de igual a igual entre dispositivos. Se ofrece como sincronización totalmente alojada y gestionada con Capella App Services, o instalar y gestionar Pasarela de sincronización Couchbase tú mismo.

Consulte nuestro documentación para más información.

Casos prácticos y ventajas de la búsqueda vectorial

Aunque los beneficios de búsqueda vectorial se entienden bastante bien, ¿por qué querrías buscar vectores en el borde? 

Búsqueda semántica en modo "primero en línea

Las aplicaciones en las que las simples búsquedas basadas en texto son insuficientes pueden ahora soportar búsquedas semánticas en datos locales para recuperar datos contextualmente relevantes incluso cuando el dispositivo está en modo offline. Esto garantiza que los resultados de la búsqueda estén siempre disponibles. 

Ejemplo

Considere una aplicación de campo clásica Los trabajadores de los servicios públicos en lugares de reparación y zonas catastróficas operan en zonas con una conectividad a Internet deficiente o inexistente:

    • Las palabras, línea, cable, alambre son sinónimos para una empresa de servicios públicos. Cuando los trabajadores de servicios públicos en el campo buscan la frase,  líneadocumentos con cable, cable también tienen que ser devueltos. 
    • Al utilizar la búsqueda de texto completo (FTS), la aplicación tendrá que mantener una lista de sinónimos difícil de crear, gestionar y mantener.  
    • La pertinencia también es importante. Así que una consulta para: procedimientos de seguridad para líneas eléctricas caídas - debe centrarse en los manuales relacionados con líneas eléctricas caídas, cables eléctricos, líneas de alta tensión, etc.

Aliviar la preocupación por la privacidad de los datos

Uno de los principales casos de uso de una base de datos de búsqueda vectorial es la capacidad de obtener datos contextualmente relevantes. A continuación, los resultados de la búsqueda se incluyen como datos contextuales en las consultas enviadas a un gran modelo de lenguaje (LLM) para personalizar las respuestas a las consultas. Generación mejorada por recuperación (RAG)). La ejecución de búsquedas en datos de naturaleza privada o sensible puede plantear problemas de privacidad. Al realizar búsquedas en un dispositivo local, podemos restringir las búsquedas únicamente a los usuarios autenticados y autorizados para acceder a los datos privados del dispositivo. Cualquier información personal identificable (PII) de los resultados de la búsqueda vectorial puede ser redactada y luego aprovechada dentro de la consulta RAG a un LLM.

Además, si se despliega un LLM personalizado en la ubicación del borde, por ejemplo, un hospital, una tienda minorista, cualquier preocupación de enviar los resultados de búsqueda contextualmente relevantes a través de Internet a un servicio remoto en la nube se alivia aún más.

Ejemplo

Considere el siguiente ejemplo de una aplicación sanitaria:

    • Un médico de un hospital busca opciones de tratamiento para un paciente que se recupera de una operación.
    • El contexto relevante del paciente se recupera del historial médico y las preferencias. El acceso a estos datos se autentica y autoriza.
    • El contexto del paciente se envía junto con la consulta a un modelo Edge LLM alojado en el hospital que puede generar entonces un plan de recuperación personalizado.

Reducción del coste por consulta

Cuando se dispone de cientos o miles de clientes conectados que realizan consultas en un LLM basado en la nube, la carga del modelo en la nube y los costes operativos de funcionamiento del modelo basado en la nube pueden ser considerablemente elevados. Al ejecutar las consultas localmente en el dispositivo, podemos ahorrar en costes de transferencia de datos y en gastos de salida de la nube, así como descentralizar los costes operativos. 

Ejemplo

Considere el siguiente ejemplo de una aplicación digital de asistente de atención al cliente:

    • Una tienda minorista sincroniza con un catálogo de productos, precios específicos de la tienda y datos de promociones con los quioscos de atención al cliente de la tienda (dispositivo de borde). 
    • Una usuaria busca en el quiosco un sombrero que combine con la chaqueta que lleva, captada por una cámara. También le interesan los sombreros en oferta. 
    • En lugar de que los quioscos envíen consultas de búsqueda a un servidor remoto, las búsquedas de similitud se realizan localmente, en el quiosco, en el catálogo para encontrar artículos similares que están a la venta.
    • Además, la imagen capturada puede descartarse inmediatamente del quiosco, lo que alivia los problemas de privacidad.

Búsquedas de baja latencia

Las búsquedas realizadas localmente en un conjunto de datos local utilizando un modelo local integrado eliminan la variabilidad de la red y serán siempre rápidas. Incluso en el caso de que el modelo no esté integrado en el dispositivo local, sino desplegado en el extremo, el tiempo de ida y vuelta (RTT) asociado a las consultas puede reducirse significativamente en comparación con las búsquedas realizadas a través de Internet.

Ejemplo

Revisión de la aplicación para tiendas minoristas:

    • El catálogo de productos, los precios específicos de la tienda y los documentos de promociones que se sincronizan con los quioscos de atención al cliente incluyen incrustaciones vectoriales. Las incrustaciones vectoriales se generan mediante modelos de incrustación LLM en la nube.
    • Los documentos sincronizados se indexan localmente en el quiosco.
    • Un cliente en el quiosco de la tienda que busca un artículo específico hace una búsqueda regular de Zapatillas de tenis para mujer Adidas talla 9 y también puede ejecutar un encontrar artículos relacionados realizando una búsqueda similar entre el producto recuperado mediante una búsqueda regular y comparándolo con el resto de documentos del producto. La búsqueda se realiza localmente y es rápida.
    • En este caso, mientras que las incrustaciones vectoriales se generan en la nube, la búsqueda de similitud se realiza localmente. De hecho, en esta aplicación concreta, ni siquiera es necesario un modelo de incrustación en la aplicación de quiosco.

Soporte unificado de nube a borde para la búsqueda de similitud vectorial

Si bien hay consultas que son más adecuadas para la nube, por las razones explicadas anteriormente en el post, hay casos en los que las consultas son más adecuadas para el borde. Tener la flexibilidad de ejecutar consultas en la nube, en el perímetro o en ambos permitirá a los desarrolladores crear aplicaciones que aprovechen lo mejor de ambos mundos.

Ejemplo

  • Considere una aplicación de banca móvil en la que el historial de transacciones específicas del usuario de los últimos 6 meses se sincroniza y almacena localmente en el dispositivo.
  • Un usuario busca transacciones relacionadas con una compra que realizó hace unos meses. La búsqueda se realiza localmente, por lo que es rápida y también está disponible sin conexión.
  • Las transacciones relacionadas con todos los usuarios se almacenan en los servidores de la nube, donde su aplicación de detección de fraudes utiliza la búsqueda semántica para detectar patrones de actividades fraudulentas.

¡Enséñame el código!

Ahora que usted está entusiasmado con los beneficios de la búsqueda vectorial dentro de su aplicación de borde, vamos a ver lo que se necesita para poner en práctica la misma. Es bastante simple y sólo toma unas pocas líneas de código para llevar el poder de la búsqueda semántica dentro de su aplicación borde. El ejemplo de abajo está en swift, pero echa un vistazo a la sección de recursos de abajo para fragmentos de código en el lenguaje de su elección.

Creación de un índice vectorial 

En este ejemplo, creamos un índice vectorial con los valores por defecto. Las aplicaciones tienen la opción de personalizar aún más la configuración del índice vectorial con una métrica de distancia diferente, el tipo de codificación del índice y los parámetros de entrenamiento del centroide:

Búsqueda de similitudes

En este ejemplo, estoy ejecutando una consulta SQL++ para recuperar los 10 documentos más similares cuya descripción coincida con la incrustación de destino del archivo frase de búsqueda:

 

Recursos

Aquí tiene enlaces directos a algunos recursos útiles.

Esté atento a una próxima entrada sobre arquitecturas de referencia para la búsqueda vectorial.

 

Autor

Publicado por Priya Rajagopal, Directora de Gestión de Productos

Priya Rajagopal es directora sénior de gestión de productos en Couchbase y responsable de las plataformas de desarrollo para la nube y el perímetro. Lleva más de 20 años dedicándose profesionalmente al desarrollo de software en varios puestos de liderazgo técnico y de producto, con más de 10 años centrados en tecnologías móviles. Como delegada de estándares IPTV de TISPAN, fue una colaboradora clave en las especificaciones de estándares IPTV. Tiene 22 patentes en las áreas de redes y seguridad de plataformas.

Dejar una respuesta