Introduzione
La ricerca semantica aumenta la ricerca di parole chiave standard con somiglianza semantica. Questa somiglianza significa che una query per "sunny" potrebbe corrispondere al testo "luce naturale brillante" anche se non c'è sovrapposizione lessicale più lunga di una lettera. Invece della somiglianza dei caratteri, la ricerca semantica usa vettori di incorporamento prodotti dall'intelligenza artificiale per misurare la somiglianza tra query e documenti, fornendo risultati di ricerca più pertinenti.
Questo modulo illustra come abilitare la ricerca semantica nel server flessibile di Database di Azure per PostgreSQL e come usare Azure OpenAI per generare incorporamenti vettoriali.
Sceneggiatura
Supponiamo che tu lavori in un'azienda che gestisce annunci di proprietà per le vacanze. Si desidera consentire ai clienti di cercare e prenotare inserzioni online. Una sfida è che le persone usano molte parole diverse per descrivere la stessa cosa. Sono disponibili risorse limitate per sviluppare e gestire elenchi di parole chiave quando le descrizioni cambiano e le proprietà vengono introdotte e rimosse, e l'inserimento manuale delle parole chiave è soggetto a errori. Si desidera fornire risultati di ricerca pertinenti senza elenchi di parole chiave manuali.
Obiettivi di apprendimento
Si ottiene una panoramica della ricerca semantica, degli incorporamenti e dei database vettoriali. Abilita quindi le estensioni pgvector e azure_ai. Con queste estensioni si eseguirà una ricerca semantica sulle colonne vettoriali generate dagli incorporamenti di Azure OpenAI usando l'estensione azure_ai . Infine, si scrive una funzione di ricerca che riceve una stringa di query, genera incorporamenti per tale query ed esegue una ricerca semantica nel database.
Al termine di questa sessione, sarai in grado di eseguire ricerche semantiche utilizzando un database per server flessibile di Azure per PostgreSQL contro gli embedding vettoriali generati da Azure OpenAI.