În timp ce vectorii denși (dense vectors) au dimensiune fixă (ex: 1536) și conțin valori nenule în aproape toate componentele, vectorii rari (sparse vectors) au o dimensiune egală cu întregul vocabular al limbii (30.000+ dimensiuni), însă doar câteva zeci de poziții conțin valori diferite de zero.
Modelul SPLADE (Sparse Lexical and Expansion Model) utilizează un transformator pentru a produce vectori rari inteligenți: identifică termenii relevanți și adaugă automat sinonime ponderate (term expansion) direct în reprezentarea sparse:
# Structura conceptuală a unui vector SPLADE:
# Doar ID-urile de tokeni relevanți au ponderi nenule
sparse_vector = {
"indices": [2045, 8741, 10234, 19552], # ID-uri vocabular
"values": [1.42, 0.88, 2.15, 0.64] # Ponderi de importanță
}
# Căutarea sparse poate fi executată direct pe structuri de index inversat
# la fel de rapid ca BM25, beneficiind totodată de înțelegerea contextului!
Qdrant și Pinecone oferă suport dedicat pentru vectori rari prin primitivele sparse_vector, permițând interogări hibride dense + sparse într-un singur apel API.
Întrebări & Exemple practice:
SPLADE și BM25: Reprezentări Sparse pentru Căutare Lexicală și HibridăAi o întrebare despre SPLADE și BM25: Reprezentări Sparse pentru Căutare Lexicală și Hibridă sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.