Graful ierarhic HNSW (Hierarchical Navigable Small World) este cel mai popular algoritm de căutare vectorială aproximativă datorită raportului excelent între viteză și recall. Performanța sa este guvernată de trei parametri fundamentali:
- M (Max Connections): Numărul maxim de conexiuni bidirecționale pe care un nod le stabilește în graf. O valoare între 16 și 64 este optimă; valori mari sporesc recall-ul pe spații complexe, dar cresc consumul de RAM.
- efConstruction: Dimensiunea listei de priorități menținute în timpul construirii indexului. Influențează exclusiv timpul de indexare și calitatea conexiunilor create.
- efSearch (sau ef): Numărul de vecini cei mai apropiați inspectați în faza de interogare. Poate fi ajustat dinamic la fiecare căutare individuală.
# Compromis tipic în aplicații RAG:
# M = 16: echilibru excelent memorie / viteză
# efConstruction = 128 - 256: construcție robustă a grafului
# efSearch = 64: recall de peste 95% cu latență < 5ms
params = {
"M": 16,
"efConstruction": 200,
"efSearch": 64
}
Dublarea parametrului efSearch la interogare sporește substanțial recall-ul pe interogări dificile cu o creștere marginală a timpului de procesare.
Întrebări & Exemple practice:
HNSW: Rolul Parametrilor M, efConstruction și efSearchAi o întrebare despre HNSW: Rolul Parametrilor M, efConstruction și efSearch 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.