Zestawienia · 09 / 15

Bazy wektorowe i RAG

Wyszukiwanie po znaczeniu: od pgvector w Postgresie do usług zarządzanych.

Stan na: 7.11.2026

Po co wektory

Model AI zamienia tekst na wektor, czyli listę liczb, która oddaje znaczenie. Teksty o podobnym sensie mają bliskie wektory. Baza wektorowa szuka „najbliższych” wektorów, więc znajduje akapity o tym samym, nawet gdy użyto innych słów.

Na tym stoi RAG (retrieval-augmented generation): zanim model odpowie, aplikacja wyszukuje w Twoich dokumentach pasujące fragmenty i dokleja je do pytania. Model odpowiada z Twojej wiedzy, a nie tylko z treningu.

Porównanie

BazaRodzajCo wyróżnia
pgvectorrozszerzenie Postgresawektory obok reszty danych, indeksy HNSW i IVFFlat
Pineconeusługa zarządzanawyszukiwanie semantyczne, wektory gęste i rzadkie, wektory z tekstu po stronie serwera, reranking
Qdrantotwarty kod albo chmuraplatforma wyszukiwania wektorowego, chmura zarządzana, hybrydowa i prywatna
Weaviateotwarty kodwyszukiwanie hybrydowe: znaczenie i słowa kluczowe naraz
Chromaotwarty kod (Apache 2.0) albo chmuralokalnie, na własnym serwerze albo jako Chroma Cloud
Upstash Vectorusługa serverlessw pakiecie z Redis i kolejkami Upstash

pgvector: zacznij tutaj

Jeśli masz już Postgresa (Supabase, Neon, własny serwer), nie potrzebujesz osobnej bazy. pgvector obsługuje:

create extension if not exists vector;

create table dokumenty (
  id bigserial primary key,
  tresc text not null,
  wektor vector(1024)
);

create index on dokumenty using hnsw (wektor vector_cosine_ops);

-- pięć akapitów najbliższych pytaniu
select tresc from dokumenty
order by wektor <=> $1
limit 5;

Wymiar wektora (tu 1024) musi pasować do modelu, który liczy wektory. Sprawdź go w dokumentacji modelu.

Miary odległości

MiaraOperator w pgvectorKiedy
cosinusowa<=>domyślny wybór dla tekstu
iloczyn skalarny<#>wektory znormalizowane, gdy liczy się szybkość
L2 (euklidesowa)<->gdy liczy się też długość wektora

Typowy RAG

1. Podziel dokumenty na fragmenty (np. akapity).
2. Policz wektor każdego fragmentu i zapisz go w bazie.
3. Policz wektor pytania użytkownika.
4. Znajdź kilka najbliższych fragmentów.
5. Doklej je do polecenia dla modelu z prośbą o odpowiedź tylko z nich.
6. Pokaż odpowiedź ze źródłami.

Dobre praktyki:

Szybki wybór

Wersja angielska porównywała też szybkość i ceny baz. Te liczby pochodziły z różnych testów i nie dało się ich potwierdzić na stronach producentów, więc je usunąłem.