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. Dzięki reprezentowaniu danych jako osadzeń o wysokiej liczbie wymiarów, które odzwierciedlają znaczenie semantyczne, technologia ta umożliwia wszystko, od wyszukiwania semantycznego, które rozumie intencje użytkownika, po systemy rekomendacji, które wyświetlają trafne treści, a także technologię generowania wspomaganego wyszukiwaniem (RAG) i agenty AI, które opierają odpowiedzi LLM na rzeczywistych i 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 niedawno udostępniło Vertex AI Vector Search 2.0 – usługę w pełni zarządzaną, która eliminuje 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, 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ć.

Feature Store Wiele usług wyszukiwania wektorowego udostępnia tylko indeks wektorowy, który zwraca listę identyfikatorów elementów dla każdego wyszukiwania. Aby wyświetlać użytkownikom pełne wyniki wyszukiwania, potrzebujesz osobnego Feature Store lub magazynu klucz-wartość, który umożliwia pobieranie rzeczywistych danych o produktach – nazw, cen, kategorii, adresów URL obrazów w milisekundach – poprzez 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 konieczność utworzenia i utrzymywania 2 różnych usług: jednej do wyszukiwania wektorowego i jednej 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 uczenia maszynowego, 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, i ma problemy z nowo utworzonymi terminami lub nazwami 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 połączyć wyniki za pomocą technik takich jak wzajemne scalanie pozycji.

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.png

43d893d0a2bf1fe1.png

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

Czym jest Wyszukiwanie wektorowe 2.0?

Vector Search 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, które są przeznaczone do środowisk produkcyjnych – 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żytkowników w jednym miejscu (nie musisz korzystać z osobnej bazy danych ani magazynu funkcji).
  • Automatyczne wektory dystrybucyjne: automatyczne generowanie wektorów dystrybucyjnych semantycznych 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 wydajnoś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.
  • Szybkie rozpoczęcie: możesz od razu używać kNN bez konfiguracji. To idealne rozwiązanie do tworzenia aplikacji i małych zbiorów 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ą stronę.

A teraz wyobraź sobie inne doświadczenie. To samo zapytanie zwraca sukienki letnie, narzutki na strój kąpielowy 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, stworzymy system wyszukiwania produktów przy użyciu TheLook,czyli realistycznego zbioru danych e-commerce zawierającego 30 tys. elementów odzieży w 26 kategoriach. 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. Szukają tak, jak 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 koncepcjach: kolekcjach, obiektach danych i indeksach.

8eed6976638d4cf0.jpeg

Kolekcja definiuje strukturę danych – 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ę, co umożliwia uzyskanie czasu oczekiwania w milisekundach w przypadku miliardów elementów. Możesz zacząć od wersji bez indeksu, aby przyspieszyć proces tworzenia, a potem dodać indeks, gdy będziesz potrzebować wydajności na potrzeby produkcji.

Tworzenie wyszukiwarki TheLook: krok po kroku

Teraz zbudujmy działający system wyszukiwania produktów. Załadujemy 10 000 produktów z kategorii moda 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 szukają „męskiego stroju 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?” i „Board Shorts” mają różną semantykę, ale powinny być dopasowane. Osadzanie typu zadania rozwiązuje ten problem, optymalizując model osadzania pod kątem relacji asymetrycznych: 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

Korzystanie z osadzania dostosowanego do konkretnego zadania może poprawić jakość wyszukiwania o 30–40% w porównaniu z osadzaniem ogólnym. 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ę Vector Search 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 około 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. 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