RVF SDK: WASM queries override the configured metric with L2
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript, wasm
Direzione di ricerca
Inizia in npm/packages/rvf, seguendo il punto di ingresso delle query di RvfDatabase attraverso la facciata TypeScript e le esportazioni di dist/index.js e dist/backend.js. Esegui la riproduzione Node fornita e la regressione mirata che copre le query L2, cosine e dot-product. Il lavoro è completato quando la metrica configurata viene preservata per le query posizionali e per quelle con un oggetto di opzioni e l’output tracciato dell’SDK viene ricostruito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
WASM stores created with cosine or dot-product distance are queried with an explicit L2 override. This changes both ranking and distances through the public TypeScript facade.
To reproduce
On current main 5a93328f2fceb0307c25929ed38cd7a0911fdf00, build npm/packages/rvf, use a fresh scratch store path and run with its compiled exports (RvfDatabase from dist/index.js; for the filter fixture, NodeBackend from dist/backend.js; fs from node:fs):
const db = await RvfDatabase.create('memory', { dimensions: 2, metric: 'cosine' }, 'wasm');
await db.ingestBatch([{ id: '1', vector: [1, 0] }, { id: '2', vector: [10, 10] }]);
console.log(await db.query([1, 1], 2));
await db.close();
Observed: The first hit is ID 1 at squared-L2 distance 1; ID 2 has distance 162. Cosine should rank ID 2 first at distance 0.
Expected behavior
Pass the existing negative metric-override sentinel so the WASM kernel uses the metric stored at creation. Rebuild the tracked SDK output.
Reproduction evidence
Baseline: 1 passing / 2 failing cases. Patched: 3 passing cases covering L2, cosine and dot-product ranking and distance, with both positional and options-object queries. A focused regression and bounded patch are prepared.
Local environment: macOS arm64, Node 22.19.0, TypeScript 5.9.3. The tests use the repository-bundled actual native addon (wrapper 0.2.3, darwin-arm64 artifact package 0.1.7) and actual WASM package 0.1.9. Neither binary was rebuilt from current Rust source. This verifies the current TypeScript adapter against those concrete bundled artifacts, not a fresh Rust build.
This covers the real bundled WASM microkernel in Node, not browser loading or a newly compiled Rust artifact.
- Lingua principale
- Rust
- Stelle
- 4.6k
- Fork
- 611
- Merge medio
- 22h 10m
- PR unite (30g)
- 58
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ruvnet/RuVector
-
ruvllm: cargo check --no-default-features fails (claude_flow imports tokio without async-runtime)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 71/100
ruvnet/RuVector#1179 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
RVF SDK: deleteByFilter omits required native filter fieldsForse già presa @rudycelekli l’ha presa 15 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
`rvf-manifest` pulls in `std` transitively via `crc32c`Forse già presa @rudycelekli l’ha presa 17 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ruvnet/RuVector
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
needs: triage type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
area:docs documentation P3
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
Raaif-Yousuf/Wingman#837 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
priority: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
storytold/photocraft#6759 ·
I maintainer di solito rispondono entro 1 giorno