Embeddings i vector databases: wybór dla marketingu

16 kwietnia, 2026

Embeddings i vector databases to dwa najważniejsze klocki każdego systemu AI w marketingu – od semantic search na stronie, przez personalizację, po narzędzia AIO. W 2026 roku wybór modelu embeddingów i bazy wektorowej zamyka 50–70% jakości finalnego rozwiązania – reszta to prompt i interfejs.

Ten artykuł porównuje produkcyjne modele embeddingów (OpenAI, Voyage, Cohere, open source) i bazy wektorowe (Pinecone, Qdrant, Weaviate, pgvector) z perspektywy marketera, nie deweloperki. Punkt widzenia: co wybrać, ile to kosztuje, jak zmierzyć jakość, kiedy zmienić dostawcę.

Embedding produkcyjny to ten sam fundament, który napędza cytowania w ChatGPT czy Perplexity. Zrozumienie wyboru modelu i bazy daje bezpośrednią przewagę w strategii AIO. Szerszy kontekst w pillarze AIO 2026: pełny przewodnik po optymalizacji treści pod wyszukiwarki AI i LLM.

W skrócie

  • Embedding to wektor liczbowy (512–3 072 wymiary), który reprezentuje znaczenie tekstu – pozwala porównywać teksty po „bliskości” semantycznej, nie po słowach.
  • Vector database to specjalizowana baza danych, która szybko znajduje najbliższe wektory w zbiorze milionów pozycji – działa jak Google dla znaczeń.
  • Standard 2026: OpenAI text-embedding-3-large lub Voyage 3 Large, baza Pinecone/Qdrant/Weaviate, koszt 100–1 500 zł miesięcznie dla typowego marketingowego use case’u.
  • Dobry stack daje recall@10 > 90% na polskich zapytaniach; zły – 60–75%, co widać od razu jako słabe wyniki wyszukiwania i halucynacje RAG.
  • Najczęstsze błędy: brak hybrydy BM25+vector, self-host bez potrzeby, zły model do języka polskiego, brak reindeksu przy zmianach treści.

Czym są embeddings i po co marketingowi

Embedding to liczby reprezentujące znaczenie tekstu. Zdanie „jak anulować subskrypcję” i zdanie „jak zrezygnować z abonamentu” mają blisko siebie leżące wektory, mimo że nie mają ani jednego wspólnego słowa. To jest klucz do semantic search, RAG, personalizacji i automatyzacji contentowej.

Podstawowa intuicja

  • Model embeddingów to sieć neuronowa, która zamienia tekst na wektor o 512–3 072 wymiarach.
  • Wektory podobnych znaczeniowo tekstów są blisko siebie w przestrzeni wektorowej.
  • „Blisko” mierzy się przez similarity kosinusową (wartość 0–1) lub odległość euklidesową.
  • Cała magia semantic search i RAG opiera się na tym jednym mechanizmie.

Gdzie marketing wykorzystuje embeddings

  • Semantic search na stronie – użytkownik pyta naturalnym językiem, znajduje relevant content.
  • RAG chatboty – odpowiedzi oparte na twojej bazie, nie generycznej wiedzy LLM.
  • Klasyfikacja leadów – dopasowanie zapytań do person kupujących.
  • Rekomendacje treści – „jeśli czytałeś X, zainteresuje cię Y”.
  • Deduplikacja contentu – wykrywanie artykułów o tym samym temacie.
  • Analiza konkurencji – porównanie artykułów twoich z rywalami po znaczeniu.

Dlaczego to ma sens w 2026

Koszt embeddingów spadł 40× od 2022 roku – milion tokenów kosztuje dziś 0,08–0,50 zł. Infrastruktura wektorowa jest dostępna jako managed service za 100–300 zł miesięcznie. Marketing, który wdraża embeddingi, dostaje przewagę kosztową i jakościową, a ROI widać w 60–120 dni.

Jak działają modele embeddingów

Model embeddingów czyta tekst, przepuszcza go przez sieć transformerów i wypluwa wektor o stałej liczbie wymiarów. Szczegóły matematyczne są dla researchera – marketer potrzebuje rozumieć 4 parametry praktyczne.

Wymiary

  • 512–1 024 wymiary – lżejsze modele, szybsze, tańsze storage.
  • 1 536–2 048 wymiary – standard produkcyjny, dobra jakość.
  • 3 072 wymiary – OpenAI text-embedding-3-large, najlepsza jakość.
  • Matryoshka learning – nowsze modele pozwalają skracać wymiary bez utraty jakości (OpenAI, Voyage).

Długość wejściowa

  • Większość modeli obsługuje 8 000–32 000 tokenów wejścia.
  • Praktyka: chunki 200–500 słów (300–700 tokenów), nie cały artykuł.
  • Wejście dłuższe niż 1 000 słów daje rozmyty embedding – traci dokładność.

Język

  • Modele ogólne (OpenAI, Voyage, Cohere) dobrze radzą sobie z polskim.
  • Specjalizowane wielojęzyczne (Cohere multilingual, BGE-M3) lepiej dla miksu PL/EN/DE.
  • Modele polskojęzyczne (HerBERT, PolBERT) – zwykle słabsze od dużych multilingual modeli w 2026.

Koszt

  • OpenAI text-embedding-3-small: ~0,08 zł za 1M tokenów.
  • OpenAI text-embedding-3-large: ~0,52 zł za 1M tokenów.
  • Voyage 3 Large: ~0,36 zł za 1M tokenów.
  • Cohere embed-multilingual-v3: ~0,40 zł za 1M tokenów.
  • Self-host BGE-M3: 0 zł per token, 600–2 000 zł/mc za GPU.

Porównanie topowych modeli embeddingów 2026

Wybór modelu to najważniejsza decyzja w stacku – model się nie zmienia codziennie, ale raz wdrożony pracuje przez 12–36 miesięcy. Pięć modeli produkcyjnych w 2026 z charakterystyką praktyczną.

ModelWymiaryMTEB (PL)Koszt /1MSzczególne mocne strony
OpenAI text-embedding-3-large3 07264,6~0,52 złUniwersalny, najlepszy polski
Voyage 3 Large2 04863,9~0,36 złTechniczne nisze, finanse, prawo
Cohere embed-multilingual-v31 02461,8~0,40 złMiks 100+ języków, stabilny
Jina embeddings v31 02460,4~0,18 złTani, self-host dostępny
BGE-M3 (self-host)1 02461,20 + GPUOpen source, RODO-friendly

Rekomendacja domyślna

Dla 80% polskich wdrożeń marketingowych w 2026 – OpenAI text-embedding-3-large. Najwyższa jakość na polskim, prostota wdrożenia, dojrzałość ekosystemu. Wyjątki: enterprise z wymaganiami RODO (BGE-M3 self-host), wolumen > 1M zapytań miesięcznie (Jina v3), specyficzne nisze jak prawo czy medycyna (Voyage 3 Large).

Jak testować modele na własnych danych

  1. Zbierz 80–150 realnych zapytań użytkowników z logów.
  2. Dla każdego zapytania eksperci domeny wskazują 1–3 idealne dokumenty.
  3. Indeksuj bazę każdym testowanym modelem (3–5 modeli).
  4. Odpal zapytania, policz recall@5 i recall@10.
  5. Wybierz najlepszy; przy różnicy < 3 pp wybierz tańszy lub self-hostowalny.

Jak działają vector databases

Vector database przechowuje miliony wektorów i znajduje najbliższe sąsiedzkie w milisekundach. Techniki pod spodem – HNSW, IVFFlat, ScaNN – są tematem dla researchera. Marketer potrzebuje rozumieć 5 cech produktowych.

Przybliżony vs. dokładny search

Dokładny search (brute force) porównuje zapytanie z każdym wektorem w bazie – O(n) złożoność, wolne powyżej 10k wektorów. Przybliżone algorytmy (ANN – Approximate Nearest Neighbor) redukują złożoność do O(log n) z kosztem 0,5–2% utraty recall. Każda produkcyjna baza używa ANN.

Indeksy

  • HNSW – najczęstszy standard 2026, najlepszy recall/latency.
  • IVFFlat – starszy, szybszy przy indeksowaniu, gorszy recall.
  • ScaNN – Google, najszybszy przy bardzo dużych skalach.
  • Produktowy wybór: HNSW dla < 100M wektorów, ScaNN powyżej.

Filtry metadanych

Przed lub po similarity search baza filtruje wektory po metadanych (język, kategoria, data, uprawnienia). Filtr pre-search szybszy; post-search dokładniejszy. Większość baz wspiera oba tryby – wybór zależy od selektywności filtra.

Hybrydowy search

Łączenie BM25 (keyword) z embedding search w jednym zapytaniu – Weaviate i OpenSearch mają natywnie, Pinecone i Qdrant wymagają warstwy łączącej (Reciprocal Rank Fusion). Hybryda daje 15–30% lepsze wyniki na zapytaniach z nazwami własnymi, kodami, skrótami.

Persistence i skalowanie

  • Single-node – do ~10M wektorów, prostota operacyjna.
  • Distributed – miliardy wektorów, wymaga DevOps kompetencji.
  • Managed services (Pinecone, Qdrant Cloud, Weaviate Cloud) – skalują się automatycznie.

Porównanie baz wektorowych 2026

Pięć baz wektorowych, które dominują produkcję w 2026. Wybór zależy od skali, wymagań operacyjnych, budżetu i istniejącego stacku.

BazaManagedSelf-hostHybryda BM25Kiedy wybrać
PineconeTak (SaaS)NieTak (sparse-dense)MVP, szybki start, mało DevOps
QdrantTak (Cloud)Tak (Rust)TakSelf-host w Polsce, wydajność
WeaviateTak (Cloud)Tak (Go)Tak (natywnie)Hybryda wbudowana, moduły
pgvector (Postgres)Każdy managed PGTakTak (FTS PG)Mała skala, istniejący stack PG
OpenSearchAWS OpenSearchTakTak (natywnie)Stack AWS, logi + wektory razem

Pinecone

  • Najprostsze wdrożenie – 1 dzień od zera do produkcji.
  • Serverless tier płaci się za użycie, nie za provisioned capacity.
  • Minus: brak self-hostu, lock-in.
  • Koszt: 0–300 zł miesięcznie dla MVP, 600–3 000 zł dla produkcji.

Qdrant

  • Napisany w Rust, najniższa latencja i zużycie RAM.
  • Self-host prosty (docker-compose), managed cloud w Europie.
  • Plus: świetna dokumentacja, client SDK dla JS/Python/Go.
  • Koszt self-host: 200–800 zł/mc VPS; managed: 300–2 500 zł.

Weaviate

  • Wbudowana hybryda BM25+vector, unikalne w 2026.
  • Moduły multi-modal (obrazy, audio) – rzadko potrzebne w marketingu, ale dostępne.
  • Plus: najbogatsze funkcje out of the box.
  • Minus: wyższy próg kompetencyjny, RAM-heavy.

pgvector

  • Rozszerzenie Postgresa – zero nowej infrastruktury jeśli masz już Postgres.
  • Skala do ~500k–1M wektorów przy rozsądnej latencji.
  • Plus: jedna technologia, backup/restore jak zwykły PG.
  • Minus: wolniejsze od dedykowanych baz przy większej skali.

OpenSearch / ElasticSearch

  • Natywna hybryda BM25+vector w jednym zapytaniu.
  • Plus: jeśli już używasz Elasticsearch do logów – dodanie wektorów proste.
  • Minus: wyższe zużycie RAM, trudniejszy tuning HNSW.

Wybór dla marketingu — 5 scenariuszy

Abstrakcyjne porównanie mało pomaga – konkretne scenariusze z rekomendacjami działają lepiej. Pięć typowych użyć w marketingu i który stack polecamy.

Scenariusz 1 — help center 500 artykułów

  • Model: OpenAI text-embedding-3-large.
  • Baza: Pinecone Serverless albo pgvector.
  • Koszt: 80–250 zł/mc.
  • Time to production: 3–4 tygodnie.

Scenariusz 2 — RAG na stronie B2B SaaS

  • Model: OpenAI text-embedding-3-large.
  • Baza: Qdrant Cloud lub Weaviate Cloud.
  • Koszt: 400–1 500 zł/mc z generation.
  • Time to production: 6–8 tygodni.

Scenariusz 3 — e-commerce rekomendacje produktów

  • Model: Voyage 3 Large lub OpenAI large.
  • Baza: Qdrant albo OpenSearch (integracja z logami).
  • Koszt: 500–2 000 zł/mc przy 50k produktów.
  • Time to production: 8–12 tygodni.

Scenariusz 4 — bank / ubezpieczenia (RODO)

  • Model: BGE-M3 self-host na GPU w Polsce.
  • Baza: Qdrant self-host.
  • Koszt: 2 500–6 000 zł/mc (GPU + DevOps).
  • Time to production: 12–20 tygodni.

Scenariusz 5 — agencja marketingowa z wieloma klientami

  • Model: OpenAI text-embedding-3-small (koszt, szybkość).
  • Baza: Pinecone z multi-tenancy przez metadane.
  • Koszt: 300–1 200 zł/mc dla 5–15 klientów.
  • Time to production: 4–6 tygodni.

Jakość embeddingów — jak mierzyć, kiedy reagować

Embedding nie jest „zrobiony i zapomniany” – jakość degraduje się wraz ze zmianami w treści, nowymi typami zapytań, ewolucją produktu. Trzy wskaźniki, które trzymają embedding w formie.

Recall@5 na golden secie

Cotygodniowy pomiar na zbiorze 100–300 zapytań z prawidłowymi odpowiedziami. Trend powinien być stabilny – spadek 2–3 pp w tygodniu to sygnał do reindeksu albo aktualizacji chunkowania. Cel: recall@5 > 80%, najlepsi powyżej 90%.

Mean Reciprocal Rank (MRR)

Średnia pozycja pierwszego trafnego dokumentu w wynikach. MRR = 1 oznacza idealnie (zawsze top 1), MRR = 0,5 oznacza średnio drugie miejsce. Cel produkcyjny: MRR > 0,7.

Zero-result rate

Procent zapytań, dla których żaden wynik nie przekroczył progu confidence. Wysoki (> 12%) sygnalizuje luki w treści albo słaby model. Niski (< 3%) może też być problemem – system odpowiada na wszystko, w tym na pytania spoza zakresu.

Drift detection

Porównanie rozkładu embeddingów nowych zapytań z rozkładem historycznym. Duży drift = użytkownicy pytają o nowe rzeczy, baza może nie nadążać. Rzadkie w marketingu, standard w fintechach.

Reindeksing — jak i kiedy

Zmiana treści w CMS bez reindeksu vector database powoduje rozjazd – użytkownik dostaje stare odpowiedzi. Trzy strategie reindeksu dla różnych skal.

Reindeks inkrementalny (webhook)

  • CMS wysyła webhook przy każdej zmianie artykułu.
  • Worker pobiera artykuł, chunkuje, re-embedduje, podmienia w bazie.
  • Czas: 5–30 sekund per artykuł.
  • Stosowane dla baz aktywnych (10+ zmian dziennie).

Reindeks batch (cron)

  • Co 24 godziny pobieranie artykułów z modified_at > last_sync.
  • Reindeks zmian w 5–15 minut.
  • Prostsze niż webhooki, wystarcza dla baz statycznych.

Pełny rebuild (tygodniowy)

  • Raz w tygodniu pełne przebudowanie indeksu od zera.
  • Łapie błędy synchronizacji, usunięte dokumenty, zmiany w chunkowaniu.
  • Czas: 10–60 minut w zależności od skali.
  • Krytyczne – bez tego baza „gnije” w 3–6 miesięcy.

Wymiana modelu embeddingów

Rzadziej niż co 12–24 miesięcy, ale czasem konieczne (nowy dostawca, lepsza jakość). Krok: stworzyć nowy indeks równolegle ze starym, sprawdzić jakość, przełączyć ruch, usunąć stary. Ryzyko: 1–3% regresu na niektórych zapytaniach. Zobacz RAG dla marketerów dla szczegółów procesu.

Najczęstsze błędy w embeddings i vector DB

Z 20+ audytów embedding stacków w polskich firmach zebraliśmy listę powtarzalnych błędów. Większość kosztuje 15–40% jakości wyszukiwania.

Błąd 1 — brak hybrydy BM25+vector

Czysty semantic fail na kodach błędów, nazwach produktów, skrótach. Dodanie BM25 z RRF kosztuje 4–8 dni implementacji i daje 15–25% wzrostu recall.

Błąd 2 — self-host bez potrzeby

Zespół wybiera self-host „bo taniej” albo „bo RODO”. W rzeczywistości Pinecone czy Qdrant Cloud w UE są RODO-compliant dla większości przypadków. Koszt operacyjny self-hostu (DevOps 20–40% etatu) to 4–12 tys. zł miesięcznie – więcej niż managed service dla MVP.

Błąd 3 — zły model do polskiego

Wybór taniego modelu (text-embedding-3-small, Jina small) do polskiego bez testu daje 10–18 pp gorszy recall niż large. Oszczędność na modelu to strata na biznesie.

Błąd 4 — brak reindeksu

Baza zbudowana raz, zapomniana. Po 6 miesiącach 15–25% odpowiedzi dotyczy nieistniejących lub zmienionych artykułów.

Błąd 5 — zbyt duże chunki

Całe artykuły jako chunki – embedding rozmyty, recall spada. Standard: 200–500 słów z overlap 50–100.

Błąd 6 — brak filtrów metadanych

Wszystkie języki / produkty w jednym indeksie bez filtrów. Polski użytkownik dostaje wyniki po angielsku. Metadata filter przed similarity search rozwiązuje w 1 dzień pracy.

Case: e-commerce fashion, 45 000 produktów, Q4 2025

Zanonimizowany klient e-commerce fashion – wdrożenie embeddings do wyszukiwarki produktów i rekomendacji. Stack: OpenAI text-embedding-3-large + Qdrant Cloud + Cohere Rerank 3.

Kontekst

45 000 produktów, wyszukiwarka Algolia, CVR z wyszukiwarki 2,1%, bounce z wyszukiwarki 64%. Problem: użytkownicy pytają naturalnie („czerwone buty do garnituru”), Algolia odpowiada po keywordach.

Wdrożenie

  1. Embedding description + tagów + kategorii per produkt – 3 dni.
  2. Indeksacja w Qdrant Cloud – 2 godziny.
  3. Hybryda BM25 (Algolia) + vector (Qdrant) z RRF – 5 dni.
  4. Reranker Cohere top 50 → top 20 – 2 dni.
  5. A/B test 50/50 przez 6 tygodni.

Wyniki po 90 dniach

  • CVR z wyszukiwarki: wzrost z 2,1% do 3,4% (+62%).
  • Bounce rate: spadek z 64% do 41%.
  • Średnia wartość zamówienia z wyszukiwarki: wzrost o 18%.
  • Koszt miesięczny stacku: 640 zł.
  • ROI: zwrot w 11 dniach.

FAQ — najczęstsze pytania

Ile kosztuje embeddingi i vector DB miesięcznie?

Zależy od skali. MVP (500 artykułów, 20k zapytań) – 80–200 zł miesięcznie łącznie. Produkcja SaaS (3k artykułów, 80k zapytań) – 400–1 500 zł. E-commerce (50k produktów, 200k zapytań) – 1 500–4 000 zł. Enterprise RODO (self-host, 10k+ artykułów, 500k+ zapytań) – 4 000–12 000 zł wraz z DevOps. Największe zmienne: model embeddingów (small vs large = 6x różnicy), reindeks frequency, managed vs self-host. Praktyczna rada: startuj managed, migruj na self-host dopiero przy stabilnej skali > 500k zapytań miesięcznie.

OpenAI vs open source embedding — co wybrać?

Dla 80% wdrożeń w marketingu w 2026 – OpenAI text-embedding-3-large. Argumenty: najlepsza jakość na polskim out of the box, prostota wdrożenia, dojrzałość ekosystemu. Open source (BGE-M3, Jina v3) ma sens w 3 scenariuszach: (1) wymagania RODO enterprise – dane nie mogą opuszczać Polski, (2) skala > 2M zapytań miesięcznie – koszt OpenAI API przebija infrastrukturę GPU, (3) specyficzna nisza gdzie open source model ma lepsze benchmarki (rzadkie w marketingu). Między OpenAI, Voyage, Cohere – różnice jakościowe małe, wybierz po cenie i ekosystemie.

Czy pgvector wystarczy?

Dla MVP i baz do 500k wektorów – tak, bez wątpienia. Plusy: zerowa nowa infrastruktura, jedna technologia, backup/restore jak zwykły Postgres. Minusy: latencja rośnie nieliniowo przy > 1M wektorów, tuning indeksów IVFFlat/HNSW wymaga DBA, brak wbudowanej hybrydy (trzeba dodać FTS Postgres). Praktyczna ścieżka: startuj na pgvector, przełączaj na Pinecone/Qdrant gdy p95 latency przekroczy 200 ms albo gdy baza przekroczy 500k wektorów. Koszt migracji: 4–10 dni pracy dewelopera, głównie reindeks i zmiana client SDK.

Jak często trzeba reindeksować?

Trzy tryby. (1) Webhook inkrementalny dla zmian pojedynczych artykułów – natychmiast (5–30 s opóźnienia). Krytyczne dla baz aktywnych. (2) Batch reindex co 24 godziny dla zmian, które umknęły webhookowi. Prostsze niż webhooki, wystarczy dla baz statycznych. (3) Pełny rebuild co 7 dni – łapie usunięte dokumenty, zmiany w chunkowaniu, błędy synchronizacji. Bez tego trzeciego punktu baza „gnije” w 3–6 miesięcy. Dodatkowo: wymiana modelu embeddingów co 12–24 miesiące, gdy pojawi się nowy z wyraźną przewagą (np. OpenAI v4 lub Voyage 4 w przyszłości).

Czym jest hybrydowy search i czy go potrzebuję?

Hybrydowy search łączy BM25 (dopasowanie słów kluczowych) z embedding search (dopasowanie znaczeniowe) w jednym zapytaniu. Wyniki łączone przez Reciprocal Rank Fusion (RRF) lub ważone sumowanie. Potrzebujesz jeśli: (1) baza zawiera nazwy własne, kody SKU, skróty, nazwy API – czysty semantic gubi je, (2) użytkownicy często wpisują 1–2 słowa (zbyt krótkie dla semantyki), (3) jakość wyszukiwarki jest krytyczna biznesowo. Nie potrzebujesz jeśli: baza to wyłącznie długie artykuły merytoryczne, użytkownicy zadają pełne pytania, recall obecnego rozwiązania już > 88%. Koszt dodania hybrydy: 4–8 dni pracy.

Jak monitorować jakość embeddingów w produkcji?

Cztery metryki na dashboard: (1) recall@5 na golden secie 100–300 zapytań, aktualizowanym raz na kwartał, cel > 80%, pomiar co tydzień; (2) Mean Reciprocal Rank, cel > 0,7; (3) zero-result rate, alarm gdy > 12%; (4) p95 latency zapytań, cel < 200 ms. Narzędzia: Grafana + Prometheus dla metryk czasu rzeczywistego, Metabase dla raportów jakościowych, własny skrypt Python/Node uruchamiający golden set co tydzień. Dodatkowo: feedback button („czy ta odpowiedź pomogła?”) z logowaniem – najcenniejszy sygnał jakościowy z produkcji, bo mierzy realne user experience, nie syntetyczne metryki.

Multi-tenancy — jak obsłużyć wielu klientów w jednej bazie

Agencje marketingowe i platformy SaaS często potrzebują jednej instancji vector DB dla wielu klientów, z pełną izolacją danych. Trzy podejścia z różnymi kompromisami kosztu i bezpieczeństwa.

Namespace per klient

  • Pinecone i Qdrant wspierają namespace – fizyczna separacja w obrębie jednego indeksu.
  • Plus: prosta implementacja, dobra performance.
  • Minus: zapytanie może mieć dostęp tylko do jednego namespace naraz.
  • Koszt: skaluje się liniowo, ale bez overheadu per klient.

Metadata filter

  • Wszyscy klienci w jednym namespace, filtr tenantId na każde zapytanie.
  • Plus: elastyczność, cross-tenant analytics możliwe przy wyraźnej autoryzacji.
  • Minus: ryzyko data leakage przy błędzie w filtrze – trzeba testować każdą ścieżkę.
  • Wybór dla platform z setkami tenantów o małym wolumenie.

Osobny indeks per klient

  • Każdy klient ma dedykowany indeks w Pinecone lub kolekcję w Qdrant.
  • Plus: maksymalna izolacja, łatwy backup/restore per klient.
  • Minus: wyższy koszt przy dostawcach liczących per indeks (Pinecone).
  • Wybór dla enterprise z wymaganiami compliance.

Porównanie Postgres pgvector i Elasticsearch dense_vector

Dwie bazy relacyjne/dokumentowe rozszerzone o wektory często wybierane, gdy stack już istnieje. Zamiast dodawać nową technologię – rozszerzasz istniejącą. Porównanie praktyczne.

pgvector zalety

  • Jedna technologia w stacku – jeden backup, jeden monitoring.
  • Transakcje ACID – zmiany wektorów atomowe z zmianami tabel biznesowych.
  • Zapytania SQL z JOIN – łączenie wektorów z tabelami bez ETL.
  • Dostępne w każdej managed PG: AWS RDS, Google Cloud SQL, Supabase, Neon.

pgvector ograniczenia

  • Skala do ~1M wektorów komfortowo, do 5M z tuningiem.
  • HNSW indeks buduje się wolno – 20–60 minut na 1M wektorów.
  • Brak natywnej hybrydy z BM25 – trzeba łączyć z PG full-text search ręcznie.
  • p95 latency przy > 1M wektorów zaczyna rosnąć nieliniowo.

Elasticsearch dense_vector zalety

  • Wbudowana hybryda BM25+vector w jednym zapytaniu.
  • Doskonałe filtry metadanych – Elasticsearch był pod to zaprojektowany.
  • Skala do setek milionów dokumentów.
  • Dojrzały monitoring, tooling, SDK.

Elasticsearch ograniczenia

  • Wyższy narzut RAM – HNSW w Elastic to ~4GB na milion 1536-wymiarowych wektorów.
  • Wymaga kompetencji DevOps (cluster, shards, replicas).
  • Managed AWS OpenSearch – drożej niż dedykowane Pinecone/Qdrant.

Optymalizacja kosztów embeddings i storage

Koszty embeddingów i bazy wektorowej rosną liniowo z wolumenem. Siedem technik, które redukują koszt 30–60% bez utraty jakości – wszystkie testowane na produkcji w 2024–2026.

Matryoshka embeddings

OpenAI text-embedding-3-large obsługuje redukcję wymiarów bez utraty jakości dzięki Matryoshka learning. Wektor 3072 można skrócić do 1536 albo 768 – recall spada o 0,5–2 pp, storage zmniejsza się 2–4×. Ustawiasz parametr dimensions w API call.

Semantic cache

Redis z rozszerzeniem wektorowym cache’uje embeddingi zapytań. Podobne zapytanie = ta sama odpowiedź bez ponownego liczenia embeddingu. Hit rate 30–55% dla help centerów, oszczędność 25–45% kosztów embedding + generation.

Batch embedding

OpenAI Batch API daje 50% zniżki za zapytania niepilne (do 24h). Użyj dla reindeksu pełnego raz w tygodniu – oszczędność 200–800 zł miesięcznie w zależności od skali.

Kompresja indeksu

Qdrant i Weaviate wspierają quantization (int8, binary) – redukcja storage 4–32×, latency ±10%, recall -1 do -3 pp. Dla baz > 10M wektorów kluczowe.

Filtrowanie przed embeddingiem

Jeśli wiesz, że zapytanie dotyczy tylko kategorii X, filtrujesz dokumenty przed embeddingiem. Oszczędność zależy od selektywności filtra – dla help centera z 10 kategoriami to redukcja 70–85% pracy.

Wybór tańszego modelu dla niektórych ścieżek

Critical path (customer-facing RAG) – OpenAI large. Internal analytics, deduplication, bulk classification – text-embedding-3-small (6× tańszy, 3–5 pp gorszy recall, ale nie zawsze to ma znaczenie).

Reindeks tylko zmodyfikowanych chunków

Zamiast reembedding całego artykułu przy każdej zmianie, hashujesz każdy chunk – reembeddujesz tylko chunki ze zmienionym hashem. Oszczędność 60–85% kosztów reindeksu na aktywnych bazach.

Co dalej

Embedding i vector DB to dwa klocki z sześciu w pełnym systemie RAG. Kolejne kroki to orkiestracja, prompt, monitoring i optymalizacja kosztów.