/** * Vektor keresési mód enum * Meghatározza, hogy milyen metrikát használunk a vektorok közötti hasonlóság számításához */ export enum LVS_Search_Mode { /** * Cosine similarity (koszinusz hasonlóság) * 0 és 1 közötti érték, ahol 1 a legnagyobb hasonlóság * Eredmények csökkenő sorrendben (legnagyobb hasonlóság először) */ cosineSimilarity = 'cosine-similarity', /** * L2 distance (Euklideszi távolság) * 0 vagy pozitív érték, ahol 0 a legkisebb távolság (legnagyobb hasonlóság) * Eredmények növekvő sorrendben (legkisebb távolság először) */ l2Distance = 'l2-distance', /** * Hybrid search: cosine similarity (vektor-fele) + BM25 (text-fele) score-merge. * * Hasznalat: * - `searchMode: LVS_Search_Mode.hybrid` * - `textSearchKey: keyof T` — KOTELEZO; melyik string property-n fut a BM25 * - `hybridWeight?: { vector: number; text: number }` — default { vector: 0.5, text: 0.5 } * * BM25 min-max normalizalva [0,1] a candidate-szettre (cosine mar 0..1), igy * a `weight` direkt linearis kombinacio. Ha minden BM25 score 0 (egyetlen * query term sem matchel), a hybrid effektivan cosine-only-re degradalodik. * * L2+hybrid kombinacio NEM tamogatott — a hybrid mindig cosine-alapu * vector-half-fel mukodik. */ hybrid = 'hybrid', }