Wprowadzenie do wyszukiwania wektorowego 2.0

1. Wprowadzenie

Last Updated: 2026-03-04

Wyszukiwanie wektorowe, czyli baza danych wektorowych, stało się podstawową technologią nowoczesnych systemów AI. Reprezentuje dane jako osadzenia o wysokiej liczbie wymiarów, które odzwierciedlają znaczenie semantyczne. Umożliwia to wszystko, od wyszukiwania semantycznego, które rozumie intencje użytkownika, po systemy rekomendacji, które wyświetlają odpowiednie treści, generowanie wspomagane wyszukiwaniem (RAG) i agenty AI, które opierają odpowiedzi LLM na prawdziwych, aktualnych informacjach. Największe firmy technologiczne, w tym Google, korzystają z tej technologii na ogromną skalę, aby przetwarzać miliardy wyszukiwań, rekomendacji i groundingów dziennie.

Jednak tworzenie wyszukiwania wektorowego gotowego do użytku produkcyjnego nadal jest trudne. Aby to zmienić, Google udostępniło niedawno Vertex AI Vector Search 2.0 – w pełni zarządzaną usługę, która ma wyeliminować złożoność projektową i operacyjną spowalniającą pracę zespołów.

26136405e588dcfd.png

Dlaczego wyszukiwanie wektorowe jest trudniejsze, niż się wydaje

Koncepcja jest prosta. Wdrożenie? W tym miejscu sytuacja się komplikuje.

61df16b7d734ee87.png

Generowanie wektorów dystrybucyjnych. Wyszukiwanie wektorowe wymaga przekształcenia danych w reprezentacje liczbowe (wektory dystrybucyjne), które odzwierciedlają znaczenie semantyczne. Oznacza to, że musisz wywołać interfejs API do tworzenia wektorów dystrybucyjnych, grupować żądania, obsługiwać limity szybkości i przechowywać wektory. Za każdym razem, gdy dane się zmienią, ponownie uruchamiasz potok. Jest to infrastruktura, którą musisz zbudować, zanim zaczniesz wyszukiwać.

Magazyn cech Wiele usług wyszukiwania wektorowego udostępnia tylko indeks wektorowy, który zwraca listę identyfikatorów elementów dla każdego wyszukiwania. Aby udostępnić użytkownikom pełne wyniki wyszukiwania, musisz mieć osobny Feature Store lub magazyn klucz-wartość, który umożliwia pobieranie rzeczywistych danych produktu – nazw, cen, kategorii, adresów URL obrazów w milisekundach – przez przekazywanie tych identyfikatorów. W wielu przypadkach musisz też wdrożyć złożone filtrowanie funkcji produktów, takich jak cena, kategoria czy dostępność. Oznacza to, że musisz utworzyć i utrzymywać 2 różne usługi: jedną do wyszukiwania wektorowego, a drugą do pobierania i filtrowania danych. Każda aktualizacja i każde zapytanie wymagają dostępu do obu systemów i ich synchronizacji.

Dostrajanie indeksu Aby utworzyć indeksy przybliżonego najbliższego sąsiada (ANN) z milionami elementów, musisz podjąć eksperckie decyzje, aby uzyskać najlepszą wydajność: ile elementów powinien zawierać każdy węzeł indeksu? Jaki procent indeksu powinien być skanowany w każdym zapytaniu, aby zrównoważyć odtwarzanie z opóźnieniem? Jaki rozmiar fragmentu pasuje do Twojego zbioru danych? Są to decyzje dotyczące infrastruktury ML, które nie mają nic wspólnego z Twoją usługą.

Wyszukiwanie hybrydowe Wyszukiwanie semantyczne doskonale rozumie intencje użytkowników – znajduje „szorty kąpielowe”, gdy użytkownicy wyszukują „strój męski na plażę”. Nie działa jednak w przypadku kodów produktów, takich jak „SKU-12345”, które nie mają znaczenia semantycznego, ani w przypadku nowo utworzonych terminów lub nazw marek, których model osadzania nigdy nie widział. Wyszukiwanie słów kluczowych radzi sobie z tymi przypadkami, ale nie uwzględnia kontekstu semantycznego. Użytkownicy potrzebują obu tych funkcji, dlatego wyszukiwanie hybrydowe stało się niezbędne. Jego stworzenie nie jest jednak proste. Oprócz wyszukiwarki wektorowej potrzebujesz wyszukiwarki pełnotekstowej z tokenizacją, indeksami odwróconymi lub rozproszonymi wektorami dystrybucyjnymi. Następnie musisz uruchomić równoległe zapytania w obu wyszukiwarkach, znormalizować ich różne systemy oceniania i scalić wyniki za pomocą technik takich jak Reciprocal Rank Fusion.

Jak Wyszukiwanie wektorowe 2.0 rozwiązuje te problemy

Wyszukiwanie wektorowe 2.0 w Google Cloud bezpośrednio rozwiązuje każde z tych wyzwań:

eb385a0369369374.png43d893d0a2bf1fe1.png

Podczas tych warsztatów utworzymy w pełni zarządzane wyszukiwanie hybrydowe przy użyciu 10 tys. produktów z branży modowej z zbioru danych e-commerce TheLook.

Czym jest wyszukiwanie wektorowe 2.0?

Wyszukiwanie wektorowe 2.0 to w pełni zarządzana, samoczynnie dostrajająca się baza danych wektorów w Google Cloud, która jest oparta na algorytmie ScaNN (Scalable Nearest Neighbors) Google. Jest to ta sama technologia, która obsługuje wyszukiwarkę Google, YouTube i Google Play.

Główne cechy wyróżniające

  • Indeksowanie od zera do miliarda: zacznij od razu tworzyć rozwiązania bez czasu indeksowania, korzystając z kNN (k-Nearest Neighbors), a następnie skaluj je do miliardów wektorów z opóźnieniem w milisekundach dzięki indeksom ANN (Approximate Nearest Neighbor) na skalę Google na potrzeby produkcji – wszystko to przy użyciu tego samego interfejsu API i tego samego zbioru danych.
  • Ujednolicone przechowywanie danych: przechowuj osadzenia wektorowe i dane dostarczone przez użytkownika w jednym miejscu (nie musisz korzystać z osobnej bazy danych ani magazynu funkcji).
  • Automatyczne wektory dystrybucyjne: automatyczne generowanie semantycznych wektorów dystrybucyjnych za pomocą modeli wektorów dystrybucyjnych Vertex AI.
  • Wbudowane wyszukiwanie pełnotekstowe: zapewnia wbudowane wyszukiwanie pełnotekstowe bez konieczności samodzielnego generowania rozproszonych wektorów dystrybucyjnych. Możesz też używać własnych rozproszonych wektorów dystrybucyjnych (np. BM25, SPLADE) z wyszukiwaniem wektorowym, aby dostosować wyszukiwanie pełnotekstowe.
  • Wyszukiwanie hybrydowe: łączenie wyszukiwania semantycznego i wyszukiwania opartego na słowach kluczowych lub tokenach w jednym zapytaniu z inteligentnym rankingiem RRF.
  • Samodzielne dostrajanie: automatyczna optymalizacja skuteczności bez ręcznej konfiguracji
  • Gotowość do użycia w firmie: wbudowana skalowalność, zabezpieczenia i zgodność z przepisami

Architektura podstawowa

Wyszukiwanie wektorowe 2.0 ma 3 główne komponenty:

  1. Kolekcje: kontenery danych z wymuszonym schematem.
  2. Obiekty danych: pojedyncze elementy z danymi i osadzaniem wektorowym.
  3. Indeksy: natychmiastowe wyszukiwanie najbliższych sąsiadów w danych za pomocą algorytmu kNN. Aby wyszukiwanie najbliższych sąsiadów miało małe opóźnienie, użyj indeksu ANN.
  • Szybki start: możesz od razu używać kNN bez konfiguracji. To idealne rozwiązanie do tworzenia aplikacji i pracy z małymi zbiorami danych.
  • Skalowanie do środowiska produkcyjnego: używaj indeksów ANN do wyszukiwania w skali miliarda z opóźnieniem poniżej sekundy dzięki algorytmowi ScaNN.

Przyjrzyjmy się każdemu z tych pojęć na konkretnych przykładach.

2. Tworzenie wyszukiwarki mody TheLook

Wyobraź sobie, że klient wchodzi na Twoją stronę e-commerce i wpisuje „coś uroczego na wakacje na plaży”. W przypadku tradycyjnego wyszukiwania z użyciem słów kluczowych nie uzyskują żadnych wyników, ponieważ żaden produkt w Twoim katalogu nie zawiera dokładnie tych słów. Frustracja sprawia, że opuszczają to miejsce.

A teraz wyobraź sobie inne doświadczenie. To samo zapytanie zwraca sukienki letnie, stroje kąpielowe i luźne szorty – produkty, które idealnie pasują do tego, co klient miał na myśli, mimo że żaden z nich nie zawiera w tytule słowa „plaża”. Wyszukiwanie wektorowe umożliwia właśnie takie działanie.

Aby pokazać, jak wyszukiwanie wektorowe 2.0 to umożliwia, zbudujemy system wyszukiwania produktów przy użyciu TheLook,czyli realistycznego zbioru danych e-commerce zawierającego 30 tys. elementów odzieży z 26 kategorii. Każdy produkt ma atrybuty, które można znaleźć w każdym prawdziwym katalogu:

40d8ed36e05881be.png

Wyzwania związane z wyszukiwaniem, które rozwiążemy

Prawdziwi klienci nie wyszukują informacji w sposób, jakiego oczekują bazy danych. Wyszukują w taki sposób, w jaki myślą:

a76cbe51798283d7.png

Wyszukiwanie wektorowe 2.0 rozwiązuje wszystkie 4 problemy dzięki ujednoliconej architekturze.

Architektura danych Wyszukiwania wektorowego 2.0

Zanim przejdziemy do kodu, zobaczmy, jak wyszukiwanie wektorowe 2.0 organizuje dane. Architektura opiera się na 3 kluczowych pojęciach: kolekcjach, obiektach danych i indeksach.

8eed6976638d4cf0.jpeg

Kolekcja definiuje strukturę danych, czyli pola, które chcesz przechowywać, i te, które powinny być osadzone. Obiekty danych to rzeczywiste elementy (produkty, dokumenty, obrazy) przechowywane w kolekcji. Każdy z nich zawiera dane i automatycznie wygenerowane wektory lub Twoje własne wektory. Indeks optymalizuje zapytania na dużą skalę, umożliwiając uzyskanie czasu oczekiwania w milisekundach w przypadku miliardów elementów. Możesz zacząć bez indeksu, aby rozwijać aplikację bez konieczności konfiguracji, a potem dodać go, gdy będziesz potrzebować wydajności w środowisku produkcyjnym.

Tworzenie wyszukiwarki TheLook: krok po kroku

Teraz zbudujmy działający system wyszukiwania produktów. Załadujemy 10 000 produktów z branży modowej z TheLook, włączymy automatyczne osadzanie i przeprowadzimy wyszukiwania semantyczne, oparte na słowach kluczowych i hybrydowe – wszystko to w około 50 wierszach kodu.

Otwórz notatnik: Wprowadzenie do wyszukiwania wektorowego w Vertex AI 2.0

Wyszukiwanie hybrydowe w praktyce

Wyszukiwanie wektorowe 2.0 obsługuje 3 tryby wyszukiwania: semantyczne (rozumie intencje za pomocą wektorów dystrybucyjnych), tekstowe (dopasowywanie słów kluczowych) i hybrydowe (łączy oba te tryby). Wyszukiwanie hybrydowe zapewnia najlepsze wyniki w większości przypadków użycia – wyszukiwanie semantyczne znajduje „szorty kąpielowe”, gdy użytkownicy wyszukują „strój męski na plażę”, a wyszukiwanie tekstowe zapewnia, że nie zostaną pominięte dokładne dopasowania, takie jak kody produktów.

c279a1b2a12a8b2d.png

Dlaczego osadzanie typu zadania ma znaczenie

Zwróć uwagę na parametry task_type w powyższym kodzie: RETRIEVAL_DOCUMENT podczas indeksowania produktów i QUESTION_ANSWERING podczas wyszukiwania. Nie jest to arbitralne – to kluczowa technika poprawy jakości wyszukiwania, która pozwala modelowi osadzania działać jak model rekomendacji.

Większość przypadków użycia wyszukiwania wektorowego opiera się na prostym dopasowywaniu podobieństwa, ale często nie zapewnia to jakości wyszukiwania na poziomie produkcyjnym, ponieważ pytania i odpowiedzi nie są z natury podobne w przestrzeni osadzania. Zapytania „What's good for a beach vacation?” (Co się sprawdzi na wakacjach na plaży?) i „Board Shorts” (Szorty do pływania) mają różną semantykę, ale powinny być dopasowane. Osadzanie typu zadania rozwiązuje ten problem, optymalizując model osadzania pod kątem asymetrycznych relacji: dokumenty są osadzane inaczej niż zapytania, co tworzy przestrzeń osadzania, w której odpowiednie dopasowania są zgrupowane razem. Dodaje to możliwość rekomendacji, czyli znajdowania odpowiednich elementów na podstawie intencji użytkownika.

807608c0806b2f3c.png

Używanie osadzeń dostosowanych do konkretnych zadań może poprawić jakość wyszukiwania o 30–40% w porównaniu z osadzeniami ogólnymi. Więcej informacji o tym, jak to działa, znajdziesz w notatniku dotyczącym osadzania typu zadania.

Od zera do miliarda

W przypadku produkcji na dużą skalę wyszukiwanie wektorowe 2.0 oferuje indeksy ANN (Approximate Nearest Neighbor) oparte na algorytmie ScaNN (Scalable Nearest Neighbors) Google – tej samej technologii, która jest wykorzystywana w wyszukiwarce Google, YouTube i Google Play. ANN poświęca niewielką część dokładności (ok. 99%) na rzecz ogromnego wzrostu szybkości: opóźnienie poniżej 10 ms nawet w przypadku miliardów wektorów.

6d412a551119495b.jpeg

The Complete Picture

W 5 krokach (przy czym kroki 1–4 zajęły nam tylko ok. 5 minut) stworzyliśmy system wyszukiwania produktów gotowy do wdrożenia:

e2a176d9dec3a2a8.jpeg

Wyszukiwanie wektorowe 2.0 eliminuje złożoność infrastruktury, która zwykle spowalnia wdrażanie wyszukiwania wektorowego. Ty skupiasz się na produkcie, a platforma zajmuje się osadzaniem, indeksowaniem i skalowaniem.

3. Gratulacje

Gratulacje, udało Ci się utworzyć pierwszą aplikację z wyszukiwaniem wektorowym 2.0.

Więcej informacji