Wprowadzenie
Wyszukiwanie semantyczne rozszerza standardowe wyszukiwanie słów kluczowych o podobieństwo semantyczne. Proponowane podobieństwo jest takie, że zapytanie do wyszukiwania "słonecznie" może przypasować do tekstu "jasne światło naturalne", nawet jeśli nie ma leksykalnie nakładających się elementów dłuższych niż jedna litera. Zamiast podobieństwa znaków wyszukiwanie semantyczne używa wektorów osadzania generowanych przez sztuczną inteligencję (AI) do mierzenia podobieństwa zapytań i dokumentów, zapewniając bardziej istotne wyniki wyszukiwania.
W tym module pokazano, jak włączyć wyszukiwanie semantyczne na serwerze elastycznym usługi Azure Database for PostgreSQL oraz jak używać usługi Azure OpenAI do generowania osadzania wektorów.
Scenariusz
Załóżmy, że pracujesz w firmie, która zarządza ofertami nieruchomości urlopowych. Chcesz umożliwić klientom wyszukiwanie ofert i rezerwowanie online. Jednym z wyzwań jest wiele różnych słów, których używają ludzie, aby opisać to samo. Masz ograniczone zasoby do opracowywania i obsługi list słów kluczowych, ponieważ opisy zmieniają się, a właściwości przychodzą i idą, a ręczne wprowadzanie słów kluczowych jest podatne na błędy. Chcesz podać odpowiednie wyniki wyszukiwania bez ręcznych list słów kluczowych.
Cele nauczania
Omówienie semantycznych wyszukiwań, osadzania i wektorowych baz danych. Następnie włączysz rozszerzenia pgvector i azure_ai. Dzięki tym rozszerzeniom wykonasz semantyczne wyszukiwanie w kolumnach wektorowych, które zostały wygenerowane z osadzeń Azure OpenAI, przy użyciu rozszerzenia azure_ai. Na koniec piszesz funkcję wyszukiwania, która odbiera ciąg zapytania, generuje osadzanie dla tego zapytania i wykonuje semantyczne wyszukiwanie w bazie danych.
Po zakończeniu tej sesji będziesz w stanie wykonywać wyszukiwania semantyczne przy użyciu elastycznego serwera bazy danych Azure Database for PostgreSQL, przeszukując osadzenia wektorowe generowane przez usługę Azure OpenAI.