🎯 Definicja
Wektorowe bazy danych (Vector Databases) to wyspecjalizowane systemy bazodanowe zaprojektowane do przechowywania, indeksowania i szybkiego wyszukiwania wektorów (embeddingów) – czyli wielowymiarowych reprezentacji numerycznych danych (tekstów, obrazów, audio itp.). W kontekście dużych modeli językowych (LLM), stanowią podstawową strukturę do realizacji semantycznego wyszukiwania, zadawania pytań do dokumentów (RAG), filtrowania danych i porównań kontekstowych.
🔑 Kluczowe punkty
- Przechowują wysokowymiarowe dane wektorowe (np. 384D, 768D) wygenerowane przez modele językowe.
- Umożliwiają operacje podobieństwa (k-NN, cosine similarity, ANN) zoptymalizowane do miliardów punktów.
- Wspierają semantyczne wyszukiwanie (semantic search), rekomendacje, RAG i systemy QA.
- Integrują się bezpośrednio z narzędziami LLM (np. LangChain, Haystack, OpenAI plugins).
- Stosują zaawansowane struktury indeksujące (HNSW, FAISS, IVF, PQ) dla ekstremalnej wydajności.
📚 Szczegółowe wyjaśnienie
Jak działają?
Po przekształceniu tekstu przez model (np. OpenAI Embedding API, BERT-as-service, SentenceTransformers) — tekst zostaje zakodowany jako wektor. Baza:
- Indeksuje nowy wektor w przestrzeni wielowymiarowej.
- Pozwala zadawać zapytania również jako wektor.
- Kalkuluje podobieństwo (np. kosinusowe) pomiędzy zapytaniem a zapisanymi reprezentacjami.
- Zwraca top-k najbardziej semantycznie zbliżonych wyników.
Główne komponenty:
- Storage – przechowywanie dużych przestrzeni embeddingów
- Vector Indexing – przyspieszony dostęp (HNSW, Flat, IVFPQ, ScaNN)
- API Query Layer – wyszukiwanie top-k najbardziej podobnych punktów
- Hybrid Search – łączenie wyszukiwania wektorowego z klasycznym (tekst, tagi, pola metadanych)
Przykłady zastosowań:
- Retrieval-Augmented Generation (RAG) – uzupełnianie kontekstu LLM o najbardziej dopasowane treści
- Rekomendacje kontekstowe – dobierane wg podobieństwa semantycznego, a nie tylko reguł biznesowych
- Wyszukiwanie semantyczne – np. „pokaż mi faktury związane z opóźnioną dostawą laptopów”
- Wirtualni asystenci AI – dostęp do wiedzy firmowej zapisanej w embeddingach (PDF-y, strony, bazy wiedzy)
Popularne bazy wektorowe
Baza | Główne cechy |
---|---|
Pinecone | Usługa SaaS, skalowalna, klasy enterprise-ready |
FAISS | Open-source od Meta AI – szybka, lokalna, wspiera wiele algorytmów ANN |
Weaviate | Open-source z wbudowanym NLP, tagami - SQL-like query DSL |
Qdrant | Napisana w Rust, wysoka szybkość i dokładność |
ChromaDB | Lekka lokalna, idealna dla Chatbotów RAG offline |
Milvus | Rozproszona, wspiera miliardy wektorów, dobra do big-scale scenariuszy |
💡 Przykład zastosowania
Firma konsultingowa tworzy LLM-asystenta do przeszukiwania dokumentacji projektowej (PDF, Word, email).
- Dokumenty są przekształcane przez Sentence-BERT w embeddingi i ładowane do bazy Weaviate.
- Użytkownik wpisuje zapytanie: “Jakie były ryzyka wykryte podczas wdrożenia SAP we Francji?”
- Zapytanie zamieniane jest na embedding, Weaviate zwraca 3 najbliższe wektory (fragmenty dokumentów).
- LLM (np. GPT) generuje odpowiedź na podstawie tych kontekstów (RAG pipeline).
- Dzięki temu asystent udziela logicznej, cytowalnej, precyzyjnej odpowiedzi „na źródłach”, z zachowaniem aktualnej wiedzy.
📌 Źródła
- Pinecone – Czym jest vector DB?
- FAISS – Facebook AI Similarity Search
- Weaviate – vector database explained
- Qdrant – Introduction and benchmark
- LangChain – Integracja z vector stores
👽 Brudnopis
- wektor = reprezentacja tekstu w N-wymiarze → porównywanie przez similarity
- zastosowanie: RAG, semantyczne QA, podobieństwo → dla LLM
- Różnica w stosunku do klasycznego search (np. Elastic): nie zależy od miejsca słów, tylko od znaczenia
- Integracja LLM + vector store ≈ nowoczesna pamięć kontekstowa
- typowy flow: input → embedding → top-k retrieval → prompt → output
- coraz bardziej podstawowy komponent każdej wartwej architektury AI opartej na dokumentach / wiedzy domainowej