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. Szczegóły znajdziesz w Jak ChatGPT, Perplexity i Gemini znajdują i oceniają źródła.
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. Temat szerzej omawiamy w Pillar AIO 2026.
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ą.
| Model | Wymiary | MTEB (PL) | Koszt /1M | Szczególne mocne strony |
|---|---|---|---|---|
| OpenAI text-embedding-3-large | 3 072 | 64,6 | ~0,52 zł | Uniwersalny, najlepszy polski |
| Voyage 3 Large | 2 048 | 63,9 | ~0,36 zł | Techniczne nisze, finanse, prawo |
| Cohere embed-multilingual-v3 | 1 024 | 61,8 | ~0,40 zł | Miks 100+ języków, stabilny |
| Jina embeddings v3 | 1 024 | 60,4 | ~0,18 zł | Tani, self-host dostępny |
| BGE-M3 (self-host) | 1 024 | 61,2 | 0 + GPU | Open 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
- Zbierz 80–150 realnych zapytań użytkowników z logów.
- Dla każdego zapytania eksperci domeny wskazują 1–3 idealne dokumenty.
- Indeksuj bazę każdym testowanym modelem (3–5 modeli).
- Odpal zapytania, policz recall@5 i recall@10.
- 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.
| Baza | Managed | Self-host | Hybryda BM25 | Kiedy wybrać |
|---|---|---|---|---|
| Pinecone | Tak (SaaS) | Nie | Tak (sparse-dense) | MVP, szybki start, mało DevOps |
| Qdrant | Tak (Cloud) | Tak (Rust) | Tak | Self-host w Polsce, wydajność |
| Weaviate | Tak (Cloud) | Tak (Go) | Tak (natywnie) | Hybryda wbudowana, moduły |
| pgvector (Postgres) | Każdy managed PG | Tak | Tak (FTS PG) | Mała skala, istniejący stack PG |
| OpenSearch | AWS OpenSearch | Tak | Tak (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
- Embedding description + tagów + kategorii per produkt – 3 dni.
- Indeksacja w Qdrant Cloud – 2 godziny.
- Hybryda BM25 (Algolia) + vector (Qdrant) z RRF – 5 dni.
- Reranker Cohere top 50 → top 20 – 2 dni.
- 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
Jeśli chcesz pogłębić temat, sprawdź RAG (Retrieval Augmented Generation) dla marketerów. Przydatne będzie też Jak zbudować własną wyszukiwarkę RAG na stronie — oba materiały dobrze uzupełniają powyższy artykuł.