Biblioteca SentenceTransformers (Embeddings & CrossEncoder) în Hugging Face Hub & Transformers

Embeddings, Interfețe & Cloud Nivel: începător

Biblioteca oficială din ecosistemul Hugging Face pentru calcularea embedding-urilor semantice și a scorurilor de reranking folosite în căutarea vectorială și RAG.

Sintaxă & invocare Python
from sentence_transformers import SentenceTransformer

model = SentenceTransformer('BAAI/bge-m3')
vectori = model.encode(['Ce este inteligența artificială?', 'Ghid despre AI și LLM'])
similitudine = model.similarity(vectori[0], vectori[1])

Descriere & Utilizare

Dacă vrei să transformi propoziții sau paragrafe în vectori densi (embeddings) pentru a măsura cât de apropiate sunt ca înțeles sau pentru a alimenta o bază vectorială în LangChain / LlamaIndex, SentenceTransformers (SBERT) este standardul de aur.

Cu doar două linii de cod (SentenceTransformer('nume_model') și model.encode(lista_texte)), obții matricile normalizate de vectori.

Biblioteca include și clasa CrossEncoder pentru etapa de Reranking: îi dai perechi (întrebare, paragraf) cu metoda .rank(), iar modelul îți returnează ordinea exactă a celor mai bune răspunsuri.

Cum să o reții ușor

💡 Ca un GPS semantic: transformă fiecare propoziție într-o coordonată geografică (latitudine și longitudine în 1024 de dimensiuni), astfel încât două fraze care spun același lucru în cuvinte diferite primesc coordonate vecine pe hartă.

Opțiuni și parametri tehnici

  • Trece textul prin rețeaua Transformer și aplică operația de Mean Pooling (sau extrage tokenul CLS) peste toți tokenii propoziției.
  • Normalizează vectorii la lungime unitară (L2 norm) pentru ca produsul scalar să fie egal cu similitudinea cosinus.

Exemple practice și cazuri de utilizare

  • Model multilingv excelent pentru limba română: model = SentenceTransformer('intfloat/multilingual-e5-large') sau 'BAAI/bge-m3'
  • Reranking cu CrossEncoder: from sentence_transformers import CrossEncoder
    reranker = CrossEncoder('BAAI/bge-reranker-v2-m3')
    ranks = reranker.rank('Cum resetez parola?', ['Pasul 1: apasă pe Am uitat parola...', 'Programul de lucru este 9-17.'])

Sfaturi de configurare & capcane

Pentru limba română, evită modelele vechi antrenate doar pe engleză (precum all-MiniLM-L6-v2). Folosește modele multilingve moderne precum BAAI/bge-m3 sau paraphrase-multilingual-mpnet-base-v2!

Comenzi și ghiduri înrudite