Introducción
La búsqueda semántica aumenta la búsqueda de palabras clave estándar con similitud semántica. Esta similitud significa que la consulta de "soleado" podría coincidir con el texto "luz natural brillante", aunque no haya una superposición léxica de más de una letra. En lugar de la similitud de caracteres, la búsqueda semántica usa vectores de inserción generados por inteligencia artificial (AI) para medir la consulta y la similitud de documentos, lo que proporciona resultados de búsqueda más relevantes.
En este módulo se muestra cómo habilitar la búsqueda semántica en el servidor flexible de Azure Database for PostgreSQL y cómo usar Azure OpenAI para generar incrustaciones de vectores.
Escenario
Supongamos que trabaja en una empresa que administra los listados de propiedades vacacionales. Quiere permitir que los clientes busquen y reserven anuncios por internet. Un desafío es las muchas palabras diferentes que usan las personas para describir lo mismo. Tiene recursos limitados para desarrollar y mantener listas de palabras clave a medida que las descripciones cambian y las propiedades vienen y van, y la entrada de palabra clave manual es propensa a errores. Quiere proporcionar resultados de búsqueda relevantes sin listas de palabras clave manuales.
Objetivos de aprendizaje
Obtendrá información general sobre la búsqueda semántica, las incrustaciones y las bases de datos vectoriales. A continuación, habilite las extensiones pgvector
y azure_ai
. Con estas extensiones, ejecutará una búsqueda semántica sobre columnas vectoriales generadas a partir de incrustaciones de Azure OpenAI mediante la azure_ai
extensión . Por último, escribe una función de búsqueda que recibe una cadena de consulta, genera incrustaciones para esa consulta y ejecuta una búsqueda semántica en la base de datos.
Al final de esta sesión, podrá ejecutar búsquedas semánticas utilizando un servidor flexible de base de datos de Azure Database for PostgreSQL contra las incrustaciones vectoriales generadas por Azure OpenAI.