UNPKG

hnsw-lite

Version:

A lightweight HNSW implementation for nearest neighbor search.

22 lines 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HNSW = void 0; const hnsw_1 = require("./hnsw"); Object.defineProperty(exports, "HNSW", { enumerable: true, get: function () { return hnsw_1.HNSW; } }); // // Create an instance of HNSW with 3 layers and max 5 edges per node // const hnsw = new HNSW(3, 12); // // Generate 10 random vectors of length 10 for testing (numbers instead of strings) // const vectors = Array.from({ length: 25 }, (_, i) => { // return Array.from({ length: 20 }, () => parseFloat((Math.random()).toFixed(2))); // }); // // Add nodes with random IDs and vectors // vectors.forEach((vector, index) => { // hnsw.add(`node-${index + 1}`, vector); // }); // // Query vector for testing (make sure it's also a number[] array) // const queryVector = [0.2, 0.4, 0.6, 0.1, 0.3, 0.7, 0.5, 0.6, 0.9, 0.8]; // // Perform search for the 3 closest vectors to the query // const closestNodes_0 = hnsw.query(queryVector, 3); // // Log the result // console.log('Closest nodes to the query vector:', closestNodes_0); //# sourceMappingURL=index.js.map