UNPKG

memory-vector-store

Version:

A lightweight memory-based vector store with persistent storage support for both Node.js and browser environments. Efficiently store, retrieve, and search vector embeddings with minimal dependencies.

51 lines (48 loc) 2.54 kB
import { M as MemoryVectorParser, a as MemoryVectorStoreOptions, b as MemoryVectorStore } from './vector-store-B0p9FK_0.cjs'; export { c as MemoryDocument, e as MemoryVectorData, f as MemoryVectorDataSerialize, g as MemoryVectorStorageProvider, d as doc } from './vector-store-B0p9FK_0.cjs'; /** * Creates and configures a MemoryVectorStore instance for Node.js environments. * This factory function sets up a vector store with appropriate Node.js defaults * and file system-based storage provider. * * @function MemoryVectorStore * @param {MemoryVectorParser} vectorParser - A function that converts text to a vector representation. * Can return either a Promise<number[]> for async processing * or number[] for synchronous processing. * @param {Partial<MemoryVectorStoreOptions>} [options] - Optional configuration options. * Partial override of default settings. * @returns {VectorStore} A configured vector store instance ready for use in Node.js environments. * * @example * // Create a vector store with default settings * const vectorStore = MemoryVectorStore(text => embeddingModel.embed(text)); * * // Create a vector store with custom settings * const vectorStore = MemoryVectorStore( * async text => await embeddingModel.embed(text), * { * storagePath: './data/my-vectors.json', * debug: true, * maxFileSizeMB: 1000 * } * ); * * // Add data to the store * await vectorStore.add('Sample text data'); * * // Search for similar items * const results = await vectorStore.similaritySearch('query text', 3); * * @default * Default options: * - autoSave: true - Automatically saves changes to storage * - debug: false - Debug logging is disabled by default * - maxFileSizeMB: 500 - Default file size limit of 500MB * - storagePath: '{cwd}/node_modules/__mvsl__/data.json' - Default file path for stored data * * Note: For Node.js environments, the storage is file-based and has significantly higher * capacity limits compared to browser environments. The maxFileSizeMB can be set to * higher values according to your disk space and memory constraints. */ declare function memoryVectorStore<Metadata extends Record<string, any> = Record<string, any>>(vectorParser: MemoryVectorParser, options?: Partial<MemoryVectorStoreOptions>): MemoryVectorStore<Metadata>; export { MemoryVectorParser, MemoryVectorStore, MemoryVectorStoreOptions, memoryVectorStore };