-
Notifications
You must be signed in to change notification settings - Fork 299
Expand file tree
/
Copy pathbasic_usage.js
More file actions
68 lines (57 loc) · 2 KB
/
basic_usage.js
File metadata and controls
68 lines (57 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/**
* Basic usage example for Ruvector (Node.js)
*
* Demonstrates:
* - Creating a database
* - Inserting vectors
* - Searching for similar vectors
*/
const { VectorDB } = require('ruvector');
async function main() {
console.log('🚀 Ruvector Basic Usage Example (Node.js)\n');
// 1. Create a database
console.log('1. Creating database...');
const db = new VectorDB({
dimensions: 128,
storagePath: './examples_basic_node.db',
distanceMetric: 'cosine'
});
console.log(' ✓ Database created with 128 dimensions\n');
// 2. Insert a single vector
console.log('2. Inserting single vector...');
const vector = new Float32Array(128).fill(0.1);
const id = await db.insert({
id: 'doc_001',
vector: vector,
metadata: { text: 'Example document' }
});
console.log(` ✓ Inserted vector: ${id}\n`);
// 3. Insert multiple vectors
console.log('3. Inserting multiple vectors...');
const entries = Array.from({ length: 100 }, (_, i) => ({
id: `doc_${String(i + 2).padStart(3, '0')}`,
vector: new Float32Array(128).fill(0.1 + i * 0.001),
metadata: { index: i + 2 }
}));
const ids = await db.insertBatch(entries);
console.log(` ✓ Inserted ${ids.length} vectors\n`);
// 4. Search for similar vectors
console.log('4. Searching for similar vectors...');
const queryVector = new Float32Array(128).fill(0.15);
const results = await db.search({
vector: queryVector,
k: 5,
includeMetadata: true
});
console.log(` ✓ Found ${results.length} results:`);
results.forEach((result, i) => {
console.log(` ${i + 1}. ID: ${result.id}, Distance: ${result.distance.toFixed(6)}`);
});
console.log();
// 5. Get database stats
console.log('5. Database statistics:');
const total = db.count();
console.log(` ✓ Total vectors: ${total}\n`);
console.log('✅ Example completed successfully!');
}
main().catch(console.error);