v0.1.3 • View on npm
Unified vector database abstraction supporting Pinecone, Qdrant, ChromaDB, and local storage.
npm install @neural-tools/vector-db
Install provider-specific dependencies:
# For Pinecone
npm install @pinecone-database/pinecone
# For Qdrant
npm install @qdrant/js-client-rest
# For ChromaDB
npm install chromadb
import { VectorDB } from '@neural-tools/vector-db';
const db = new VectorDB({
provider: 'pinecone',
apiKey: process.env.PINECONE_API_KEY,
index: 'my-index'
});
// Store embeddings
await db.upsert([
{
id: '1',
values: [0.1, 0.2, 0.3, ...],
metadata: { text: 'Sample document' }
}
]);
// Query similar vectors
const results = await db.query({
vector: [0.1, 0.2, 0.3, ...],
topK: 5
});
const db = new VectorDB({
provider: 'local',
path: './vectors.json'
});
// Same API, works offline
await db.upsert([...]);
const results = await db.query({...});
Main class for vector operations:
const db = new VectorDB(config);
upsert(vectors) - Insert or update vectorsquery(params) - Search for similar vectorsdelete(ids) - Remove vectors by IDfetch(ids) - Retrieve vectors by ID