Semantic Search

En Azure SQL Database, las vector functions (funciones de vectores) son una característica diseñada para trabajar con vectores embebidos en bases de datos. Estas funciones permiten almacenar, indexar y buscar eficientemente datos vectoriales, lo cual es útil para aplicaciones de búsqueda semántica, inteligencia artificial y machine learning, como recuperación de información basada en similitud y búsqueda de imágenes o textos similares.

Principales Características

  • Almacenamiento de vectores: Los vectores se almacenan en columnas del tipo de datos VECTOR.
  • Indexación de vectores: Se pueden usar índices ANN (Approximate Nearest Neighbor) para mejorar la eficiencia en la búsqueda de similitud.
  • Búsqueda por similitud: Se pueden realizar consultas basadas en la distancia entre vectores usando funciones como COSINE_DISTANCE, DOT_PRODUCT, o EUCLIDEAN_DISTANCE

Casos de uso

  • Búsqueda semántica en bases de datos (por ejemplo, encontrar documentos similares).
  • Recomendaciones de productos basadas en embeddings.
  • Procesamiento de imágenes y videos mediante vectores generados por modelos de IA.
  • Análisis de datos de sensores en aplicaciones de IoT.

En nuestra demo vamos a utilizar la búsqueda semantica para enriquecer la información que se le proveerá a un chatbot para que nos devuelva respuestas precisas.

Generador de cotizaciones

La ferreteria CONTOSO Store puso a disposición del cliente una herramienta para cotizar precios de cualquier cantidad de productos de su stock de forma automatizada.

La herramienta corresponde a un chatbot capaz de procesar el texto ingresado por el cliente y obtener una lista limpia de textos donde cada uno corresponde a un producto por consultar en la base de datos.

Previamente se hizo un procesado en la tabla de productos, donde se creó una columna embedding para guardar los vectores generados por el modelo text-embedding-ada-002 de OpenAI a cada detalle de producto.

Tabla de datos de ventas de autos