Architektura

Embedding modele dla polskich tekstów — benchmark dla wdrożeń RAG

Wybór modelu embeddingowego decyduje o jakości RAG bardziej niż wybór bazy wektorowej. Dla polskich tekstów to nietrywialne — większość benchmarków jest angielska. Przetestowaliśmy 8 modeli embedding na korpusie 47 000 polskich dokumentów biznesowych. Wyniki, koszty, rekomendacja.

⏱ 8 min czytania · 📅 07.10.2025 · 👁 866 wyświetleń

Spotykamy klientów, którzy zainwestowali 60 tys. zł w prywatną instancję wektorową, a dostają słabe wyniki RAG. Po debug w 80% przypadków winowajcą jest model embeddingowy nieprzystosowany do polskiego. Tym razem nie teoretyzujemy — przetestowaliśmy 8 popularnych modeli na korpusie 47 000 polskich dokumentów biznesowych (umowy, faktury, korespondencja, regulaminy).

Co testowaliśmy

Korpus składał się z 47 218 dokumentów, w tym 23 100 stron umów, 12 400 faktur, 8 200 maili biznesowych, 3 500 regulaminów. Dla każdego embedding-modelu mierzyliśmy: Recall@10 na 800 zapytaniach kontrolnych, czas embeddingu, koszt, wymiar wektora.

8 modeli w teście

  • text-embedding-3-large (OpenAI) — 3072 wym., multilingual.
  • text-embedding-3-small (OpenAI) — 1536 wym., multilingual.
  • multilingual-e5-large (Microsoft) — 1024 wym., open-source.
  • bge-m3 (BAAI) — 1024 wym., multilingual, open-source.
  • jina-embeddings-v3 (Jina AI) — 1024 wym., multilingual.
  • voyage-3 (Voyage AI) — 1024 wym., multilingual.
  • cohere-embed-multilingual-v3 — 1024 wym.
  • polish-st-mpnet (SpeakLeash community) — 768 wym., specjalnie dla polskiego.

Wyniki — Recall@10 na polskim korpusie

ModelRecall@10Latencja (ms/doc)Koszt 1M tok. (USD)
voyage-30,927140,12
text-embedding-3-large0,921220,13
cohere-embed-multilingual-v30,914180,10
bge-m30,90811 (lokalnie)0 (self-host)
jina-embeddings-v30,902160,12
multilingual-e5-large0,8919 (lokalnie)0 (self-host)
polish-st-mpnet0,8847 (lokalnie)0 (self-host)
text-embedding-3-small0,872140,02

Decyzje praktyczne

Najlepsza jakość, akceptowalny koszt

voyage-3 — dla wdrożeń, gdzie jakość RAG to priorytet, a koszt embeddingu nie jest blokerem. 0,927 Recall@10 to nasz benchmark "good enough" dla większości polskich workflow.

Najlepsza wartość self-hosted

bge-m3 — open-source, lokalnie, 0,908 Recall@10. Dla klientów z prywatną instancją RedAI to domyślny wybór. Embedding lokalny = dane nie opuszczają firmy nawet do generowania wektora.

Najtańsza opcja akceptowalna

text-embedding-3-small — 0,872 to nadal sensowny wynik, a koszt 6x niższy niż large. Dla MVP albo dla mniej krytycznych use case.

Pułapki polskiego

  1. Tokenizacja — niektóre modele dzielą polskie słowa subooptimalnie (ż, ł, ę dają więcej tokenów). Wpływa na koszt o 12-25%.
  2. Wielkie litery i fleksja — modele "english-first" gorzej radzą sobie z odmianami. multilingual-e5 i bge-m3 są tu znacznie lepsze.
  3. Skróty branżowe — "JPK_V7", "PKO BP", "PIT-37" wymagają nazwijmy to "polskiego common sense". Najlepiej wypadają voyage-3 i bge-m3.

Recommendation matrix

  • Mały budżet, MVP → text-embedding-3-small.
  • Średni budżet, jakość ważna → voyage-3 lub cohere v3.
  • Prywatna instancja, dane wrażliwe → bge-m3 (self-host).
  • Wysoka skala (10M+ embeddingów) → bge-m3 self-host (koszt API by zabolał).
  • Tylko polski, mała baza → polish-st-mpnet (specjalizacja kompensuje niższy recall przy małych korpusach).

Praktyka: hurtownia farmaceutyczna, 47 osób

Klient: 280 000 produktów w katalogu, RAG dla call center B2B. Pierwsza wersja: text-embedding-3-small (najtaniej). Recall@10 = 0,82, klienci skarżyli się, że asystent "nie rozumie". Migracja na bge-m3 (lokalnie, prywatna instancja). Recall@10 = 0,91. Czas odpowiedzi: bez zmian (lokalnie nawet szybciej). Koszt API: spadek o 87% (przy throughput 4 200/dzień).

Praktyczne wskazówki

  • Zawsze rób ground truth: 200-800 zapytań kontrolnych z ręcznie dobranymi "correct answers".
  • Nie ufaj benchmarkom anglojęzycznym — polski to inna liga.
  • Re-embedding to koszt — pamiętaj, że zmiana modelu = re-embedding całej bazy.
  • Wymiar wektora ma znaczenie: 1024 to dobry kompromis cena/jakość.

Podsumowanie

Embedding model to fundament RAG. Dla polskiego biznesu w 2025 polecamy voyage-3 (jakość) lub bge-m3 (self-host). Modele OpenAI dalej grają, ale przestały być automatycznym wyborem. Możemy uruchomić benchmark na waszym korpusie — dwa tygodnie i macie twardą decyzję.

Chcesz przetestować, jak AI rozwiąże to u Ciebie?

30 minut rozmowy + pokaz działającego wdrożenia u klienta. Bez NDA.

Umów demo

Może Cię też zainteresować

Newsletter redai

Dostawaj kolejne wpisy do skrzynki

Co dwa tygodnie: nowy case, nowe moduły AI, błędy klientów. Bez spamu.