Introdução
A pesquisa semântica aumenta a pesquisa de palavra-chave padrão com similaridade semântica. Essa semelhança significa que uma consulta para "ensolarado" pode corresponder ao texto "luz natural brilhante", embora não haja sobreposição lexical de mais de uma letra. Em vez de similaridade de caractere, a pesquisa semântica usa a inserção de vetores produzidos pela IA (inteligência artificial) para medir a similaridade da consulta e do documento, fornecendo resultados de pesquisa mais relevantes.
Este módulo mostra como habilitar a pesquisa semântica no servidor flexível do Banco de Dados do Azure para PostgreSQL e como usar o OpenAI do Azure para gerar inserções de vetor.
Cenário
Suponha que você trabalhe em uma empresa que gerencia listagens de propriedades para férias. Você deseja permitir que os clientes pesquisem e reservem propriedades nessas listagens online. Um desafio são as muitas palavras diferentes que as pessoas usam para descrever a mesma coisa. Você tem recursos limitados para desenvolver e manter listas de palavras-chave à medida que as descrições mudam e as propriedades vêm e vão, e a entrada de palavra-chave manual é propensa a erros. Você deseja fornecer resultados de pesquisa relevantes sem listas de palavras-chave manuais.
Objetivos do aprendizado
Você obtém uma visão geral da pesquisa semântica, das inserções e dos bancos de dados vetoriais. Em seguida, você habilita as extensões pgvector
e azure_ai
. Com essas extensões, você executará uma pesquisa semântica sobre colunas de vetor geradas a partir de inserções do OpenAI do Azure usando a extensão azure_ai
. Por fim, você escreve uma função de pesquisa que recebe uma cadeia de caracteres de consulta, gera inserções para essa consulta e executa uma pesquisa semântica no banco de dados.
Ao final desta sessão, você poderá executar pesquisas semânticas usando um banco de dados de servidor flexível do Banco de Dados do Azure para PostgreSQL em relação a inserções de vetor geradas pelo OpenAI do Azure.