🎯 Definicja

Baza wektorowa to system bazy danych zoptymalizowany do przechowywania i przeszukiwania embeddingów (wektorów liczb reprezentujących znaczenie tekstu/obrazu). Umożliwia wyszukiwanie semantyczne (“znajdź teksty o podobnym znaczeniu”), a nie tylko po słowach kluczowych.

🔑 Kluczowe punkty

  • ANN (Approximate Nearest Neighbor): Algorytmy takie jak HNSW pozwalają znaleźć “najbliższe” wektory w milisekundy, nawet wśród miliardów rekordów.
  • Wyszukiwanie semantyczne: Zapytanie “zgubiłem klucze” znajdzie dokument “procedura wyrabiania duplikatu klucza”, mimo braku wspólnych słów.
  • RAG: Fundamentalny element systemów Retrieval-Augmented Generation (pamięć długoterminowa dla LLM).

📚 Szczegółowe wyjaśnienie

Klasyczna baza (SQL/Elasticsearch) szuka słów: WHERE content LIKE '%klucze%'. Baza wektorowa liczy kąt między wektorami (Cosine Similarity). Jeśli kąt jest mały, znaczenia są bliskie. Architektura:

  • Encoder: Model (np. OpenAI text-embedding-3) zamienia tekst na wektor (np. 1536 liczb).
  • Indexer: Baza (Pinecone, Milvus, Qdrant) układa te wektory w przestrzeni.
  • Query: Użytkownik pyta Encoder zamienia pytanie na wektor Baza zwraca najbliższe sąsiady.

💡 Przykład zastosowania

Sklep internetowy “Fashion AI”. Użytkownik wgrywa zdjęcie czerwonej sukienki. System zamienia zdjęcie na wektor (CLIP model). Baza wektorowa znajduje 50 sukienek o “podobnym wektorze” (podobny styl, kolor, krój) i wyświetla je jako “Podobne produkty”. Słowa kluczowe nie biorą w tym udziału.

📌 Źródła

👽 Brudnopis

  • HNSW (Hierarchical Navigable Small World) - standardowy algorytm indeksowania.
  • Hybrydowe wyszukiwanie: Wektory (znaczenie) + Słowa kluczowe (precyzja, np. nazwy własne).