Osadzenie (ang. embedding) to sposób przedstawienia danych — słowa, zdania, obrazu czy nawet całego dokumentu — jako ciągu liczb, czyli wektora w wielowymiarowej przestrzeni. Zamiast trzymać tekst jako napis, który komputer traktuje jak losowy ciąg znaków, zamieniasz go na np. 1536 liczb, które kodują jego znaczenie. Kluczowa właściwość: rzeczy o podobnym sensie lądują blisko siebie. Wektor dla „kot” jest bliżej „pies” niż „faktura VAT”, choć słowa nie mają wspólnej litery.
Jak to działa i do czego służy
Embeddingi tworzy wytrenowany model (np. sieć neuronowa), który nauczył się, jakie słowa i konteksty występują razem. Dzięki temu odległość między wektorami da się policzyć matematycznie — najczęściej cosine similarity, czyli kąt między wektorami. Im mniejszy kąt, tym bardziej podobne znaczenie. To zamienia mgliste pytanie „czy te dwa teksty są o tym samym?” w zwykłe działanie na liczbach.
To fundament wyszukiwania semantycznego, systemów rekomendacji, wykrywania duplikatów i — przede wszystkim — RAG (Retrieval-Augmented Generation), gdzie model językowy najpierw wyszukuje pasujące fragmenty bazy wiedzy, a dopiero potem odpowiada. Bez embeddingów wyszukiwarka znajduje tylko dosłowne dopasowania słów; z nimi rozumie, że „jak zresetować hasło” i „odzyskiwanie dostępu do konta” to to samo zapytanie.
Przykład z praktyki
Budujesz wyszukiwarkę po dokumentacji. Każdy akapit przepuszczasz przez model osadzeń (np. OpenAI text-embedding-3-small albo open-source’owy all-MiniLM-L6-v2 z biblioteki sentence-transformers) i zapisujesz wektory w bazie wektorowej jak Pinecone, Qdrant czy pgvector w Postgresie. W Pythonie to dosłownie:
vec = model.encode("jak skonfigurować webhooki")
Potem zapytanie użytkownika też zamieniasz na wektor i pytasz bazę o najbliższych sąsiadów (k-NN). Dostajesz akapity najbliższe znaczeniowo, nie te z przypadkowo pasującym słowem.
Na co uważać
- Nie mieszaj modeli. Wektory z jednego modelu są nieporównywalne z wektorami innego. Zmieniasz model osadzeń? Musisz przeliczyć całą bazę od nowa.
- Liczba wymiarów to nie „jakość”. Więcej wymiarów to większy koszt pamięci i wolniejsze wyszukiwanie, nie automatycznie lepsze wyniki.
- Embedding to nie to samo co token. Token to kawałek tekstu na wejściu; embedding to gęsta liczbowa reprezentacja znaczenia.
- Podobieństwo to nie prawda. Model uzna za bliskie teksty stylistycznie podobne, nawet jeśli faktograficznie się wykluczają.
Pojęcia powiązane
Wektor, baza wektorowa (vector database), cosine similarity, RAG, model językowy (LLM), tokenizacja, wyszukiwanie semantyczne, k-NN.