Hay casos de uso que se resuelven mejor con distintos tipos de acceso a datos, incluidos SQL, investigación veterinaria, consultas geoespaciales y acceso a valor de cava. Una estrategia consiste en combinar/adaptar varios sistemas de datos para cada método de acceso. Por lo tanto, el enfoque de Couchbase hace posible combinar estos diferentes tipos de consultas para resolver problemas del mundo real.

Este artículo aborda aspectos de la aplicación de demostración "O que é essa coisa?". "¿Qué es esta cosa?" (también conocido como "WITT"). Para más contexto e información histórica, consulte:

Esta entrada del blog forma parte del C# Advent de 2024. No obstante, no hace falta que entiendas el C# para leer este post: los conceptos son aplicables a cualquiera de los Existen muchos SDK para Couchbase.

Pesquisa de vetores: o básico

La búsqueda de vectores es útil para aplicaciones que necesitan encontrar elementos similares. Por ejemplo, las incrustaciones creadas por modelos de IA pueden indexarse y buscarse. Cada elemento de WITT se modela de este modo:

Nota: La imagen del artículo se almacena como una cadena codificada en base64. En un proyecto de producción, se recomienda utilizar el almacenamiento de archivos, S3, etc., en lugar de almacenarlo en el banco de datos.

imageVector se recupera cargando la imagen en un modelo de imagen de IA, como el Azure Computer Vision.

Observación: uno de los recursos de la Servicios de IA de Capella  recém-anunciados é a hospedagem de modelos, o que reduzirá a latência dessa etapa e também aumentará a privacidade e a flexibilidade, além de potencialmente reduzir custos.

Incorporación de imágenes y búsqueda de vídeos más próximos

Con un índice de investigación veterinaria en el campo imageVectorCouchbase puede realizar búsquedas de texto más cercanas. En este caso, esta búsqueda encuentra ítems que son visualmente similares (de acuerdo con el modelo de IA). Por lo tanto, si un usuario tiene una imagen y quiere encontrar un elemento en Couchbase que se parezca más a esa imagen, un índice de búsqueda veterinaria puede hacerlo:

Aquí está el código WITT que, para una determinada imagen, solicita una incrustación vectorial do Azure Computer Vision:

Probablemente también hay frameworks que pueden hacer frente a esta llamada, pero para esta demostración simple, que requiere sólo una única llamada REST, esto es suficiente. Si quieres usar algo diferente a Azure con esta demostración, necesitas implementar IEmbeddingService.

Consultas multiuso con SQL

Muchos bancos de datos con investigación veterinaria pueden ejecutar una operación muy similar. Lo que Couchbase te permite hacer es ejecutar varios tipos de operaciones de datos con una única plataforma, un único conjunto de datos. Por ejemplo, dada una localización geoespacial (que puede recuperarse mediante un navegador web), no sólo puedes consultar para encontrar un artículo similar por imagen, sino también combinarlo con una búsqueda geoespacial, todo mediante una única consulta SQL++:

Nota: esta consulta se ha editado con fines informativos. Confirme DataLayer.cs para una visión más completa de las consultas.

El resultado de esta consulta es una "correspondencia más provechosa" para una determinada imagen. Por ejemplo, aquí está el resultado principal al cargar una imagen de una canasta:

La calidad de la correspondencia dependerá de:

    • Calidad del modelo de AI
    • Calidad/cantidad de las imágenes de un artículo determinado

En mis pruebas limitadas, he descubierto que el modelo Azure Computer Vision es muy bueno para combinar imágenes relevantes.

El resultado también incluirá las tiendas cercanas en las que el artículo está disponible para su compra.

Además de la investigación veterinaria y geoespacial

Esta consulta muestra la capacidad de Couchbase para combinar investigación veterinaria y geoespacial en una única operación. También incluye un CTE, JOINs y una subconsulta.

En una sola consulta, también puede ejecutar:

Algunos bancos de datos pueden ser capaces de ejecutar sólo un subconjunto de sus operaciones y exigir que usted traiga otras herramientas cuando necesite funcionalidad adicional. Esto aumenta sus costes, latencia y complejidad. Con Couchbase, puedes mantener tu aplicación más sencilla, rápida y económica. 

Destaques técnicos

La aplicación de demostración WITT a la que se hace referencia está construida con:

    • Interfaz de usuario React UI
    • ASP.NET Core backend
    • Azure Computer Vision
    • SDK .NET de Couchbase

También puede conferir ¿Qué es esta cosa? como demostración pública. (Lembre-se de que tudo é construído com hospedagem de nível gratuito (Azure e Capella Nivel gratuito) y que aún se está desarrollando de forma activa. Si notas alguna lentitud o tiempo de inactividad, puede ser por causa de mucho trabajo, ¡descúbrelo!)

Autor

Publicado por Joao Lopes, Director de Cuentas Territoriales

Dejar una respuesta