ARCHITECTURE•5 min czytania•Aktualizacja: 2026-10-23

Czym są embeddingi? Wektory, semantyka i podobieństwo cosinusowe

Embeddingi (osadzenia wektorowe) przekładają ludzkie pojęcia i ich znaczenie na wielowymiarowe wektory liczb. Dowiedz się, jak działają, jak oblicza się podobieństwo cosinusowe i dlaczego są fundamentem systemów RAG.

1. Czym są embeddingi i jak działają?

Embeddingi (pol. osadzenia wektorowe) to sposób reprezentacji danych – takich jak słowa, całe zdania, dokumenty, obrazy czy dźwięki – w postaci ciągów liczb rzeczywistych (wektorów) w wielowymiarowej przestrzeni matematycznej.

W dużym uproszczeniu: embeddingi to tłumacz przekładający ludzkie pojęcia i ich znaczenie na język współrzędnych matematycznych, który potrafią przetwarzać komputery.

2. Przestrzeń wektorowa i znaczenie semantyczne

Dla tradycyjnej relacyjnej bazy danych słowa "pies" oraz "szczeniak" to dwa zupełnie różne ciągi znaków. Modele embeddingowe przypisują każdemu fragmentowi tekstu wektor liczb (najczęściej 768, 1024 lub 1536 wymiarów):

"pies"       -> [0.12, -0.45, 0.88, ..., 0.04]
"szczeniak"  -> [0.14, -0.42, 0.85, ..., 0.06]
"karta GPU"  -> [-0.71, 0.33, -0.12, ..., 0.91]

Kluczową właściwością jest fakt, że odległość geometryczna między wektorami odpowiada podobieństwu znaczeniowemu (semantycznemu).

3. Jak mierzy się podobieństwo wektorów? Cosine Similarity

Standardem jest podobieństwo cosinusowe (Cosine Similarity):
• Wynik bliski 1.0 – teksty mają niemal identyczne znaczenie semantyczne.
• Wynik w okolicach 0.0 – brak powiązania tematycznego.
• Wynik ujemny – pojęcia przeciwstawne.

4. Praktyczne zastosowania: RAG, wyszukiwanie i rekomendacje

Embeddingi to filar:
1. Systemów RAG – przeszukiwanie bazy wektorowej przed przekazaniem kontekstu do modelu LLM.
2. Wyszukiwania semantycznego – rozumienie intencji zapytania użytkownika.
3. Systemów rekomendacji – dobór produktów na bazie wektorowej historii zachowań.
4. Klastrowania – grupowanie zgłoszeń klientów i artykułów.

5. Modele embeddingowe: lokalne open-source i chmurowe API

Najpopularniejsze rozwiązania:
• Lokalne: bge-m3 (znakomity dla języka polskiego, kontekst 8k), multilingual-e5-large, nomic-embed-text.
• API: OpenAI text-embedding-3-small/large, Cohere embed-multilingual-v3.0.

Często zadawane pytania (FAQ)

Dlaczego nie można mieszać embeddingów z różnych modeli?

Każdy model embeddingowy tworzy własną, unikalną przestrzeń wektorową o określonej liczbie wymiarów i innym rozkładzie cech semantycznych. Porównywanie wektora z modelu OpenAI z wektorem z bge-m3 da całkowicie losowe i błędne wyniki.

Jaki model embeddingowy jest najlepszy dla języka polskiego?

Obecnie w testach MTEB dla języka polskiego przodują modele z rodziny `bge-m3` oraz `multilingual-e5-large`. Radzą sobie doskonale z polską fleksją, odmianą przez przypadki i terminologią specjalistyczną.

Czym różni się baza wektorowa od zwykłej bazy SQL?

Tradycyjna baza danych (SQL) przeszukuje dane za pomocą ścisłych warunków matematycznych i dopasowania tekstu (np. WHERE name LIKE '%pies%'). Baza wektorowa (np. Qdrant lub pgvector w PostgreSQL) operuje na indeksach geometrycznych (HNSW) i wyszukuje rekordy o najbardziej zbliżonym znaczeniu w ułamku sekundy.