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.
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
| Model | Recall@10 | Latencja (ms/doc) | Koszt 1M tok. (USD) |
|---|---|---|---|
| voyage-3 | 0,927 | 14 | 0,12 |
| text-embedding-3-large | 0,921 | 22 | 0,13 |
| cohere-embed-multilingual-v3 | 0,914 | 18 | 0,10 |
| bge-m3 | 0,908 | 11 (lokalnie) | 0 (self-host) |
| jina-embeddings-v3 | 0,902 | 16 | 0,12 |
| multilingual-e5-large | 0,891 | 9 (lokalnie) | 0 (self-host) |
| polish-st-mpnet | 0,884 | 7 (lokalnie) | 0 (self-host) |
| text-embedding-3-small | 0,872 | 14 | 0,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
- Tokenizacja — niektóre modele dzielą polskie słowa subooptimalnie (ż, ł, ę dają więcej tokenów). Wpływa na koszt o 12-25%.
- Wielkie litery i fleksja — modele "english-first" gorzej radzą sobie z odmianami. multilingual-e5 i bge-m3 są tu znacznie lepsze.
- 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