Baza wektorowa
Zaktualizowano:
Baza wektorowa (ang. vector database) to typ bazy danych zoptymalizowany pod kątem przechowywania i przeszukiwania wektorów o wysokiej wymiarowości. Wektory te, często nazywane embeddingami, są numerycznymi reprezentacjami danych (tekstu, obrazów, dźwięku itp.), które kodują ich znaczenie semantyczne. Dzięki temu, że podobne znaczeniowo dane mają podobne wektory, bazy wektorowe pozwalają na wyszukiwanie informacji nie tylko po słowach kluczowych, ale przede wszystkim po znaczeniu.
Kluczową funkcjonalnością baz wektorowych jest wyszukiwanie najbliższych sąsiadów (ang. Nearest Neighbor Search lub Approximate Nearest Neighbor Search – ANN). Algorytmy ANN pozwalają na szybkie odnalezienie wektorów, które są "najbliżej" (czyli najbardziej podobne) do wektora zapytania, mierząc odległość lub podobieństwo za pomocą metryk takich jak odległość kosinusowa czy euklidesowa. Jest to znacznie bardziej efektywne niż porównywanie każdego wektora z każdym w tradycyjnych bazach danych.
Zastosowania baz wektorowych obejmują:
- Systemy rekomendacyjne (np. rekomendowanie produktów, filmów).
- Wyszukiwanie semantyczne (np. znajdowanie dokumentów odpowiadających na pytanie, a nie tylko zawierających słowa kluczowe).
- Detekcja anomalii.
- Generowanie odpowiedzi w dużych modelach językowych (LLM) poprzez wyszukiwanie kontekstu (tzw. RAG – Retrieval-Augmented Generation).
Bazy wektorowe różnią się od tradycyjnych relacyjnych baz danych tym, że nie skupiają się na strukturze tabelarycznej i relacjach między danymi, lecz na efektywnym zarządzaniu i porównywaniu samych wektorów.