Class: HnswlibVectorStore
Defined in: packages/agentos/src/rag/implementations/vector_stores/HnswlibVectorStore.ts:74
Vector store implementation using hnswlib-node for fast ANN search.
Features:
- O(log n) query time via HNSW graph structure
- 1-10ms queries for 100K vectors
- File-based persistence
- Configurable HNSW parameters (M, efConstruction, efSearch)
- Full metadata filtering support
Implements
Constructors
Constructor
new HnswlibVectorStore():
HnswlibVectorStore
Returns
HnswlibVectorStore
Methods
checkHealth()
checkHealth():
Promise<{details?:any;isHealthy:boolean; }>
Defined in: packages/agentos/src/rag/implementations/vector_stores/HnswlibVectorStore.ts:477
Checks the operational health of the vector store provider. This might involve pinging the service, checking connection status, or verifying authentication.
Returns
Promise<{ details?: any; isHealthy: boolean; }>
A promise that resolves with the health status.
details can include specific error messages or status information.
Async
Implementation of
collectionExists()
collectionExists(
collectionName):Promise<boolean>
Defined in: packages/agentos/src/rag/implementations/vector_stores/HnswlibVectorStore.ts:196
Checks if a collection with the given name exists in the vector store.
Parameters
collectionName
string
The name of the collection to check.
Returns
Promise<boolean>
A promise that resolves with true if the collection exists, false otherwise.
Async
Throws
If the check fails for reasons other than existence (e.g., connection issue).
Implementation of
createCollection()
createCollection(
collectionName,dimension,options?):Promise<void>
Defined in: packages/agentos/src/rag/implementations/vector_stores/HnswlibVectorStore.ts:141
Creates a new collection (or index, class, etc.) in the vector store. This is often necessary before documents can be upserted into it, depending on the provider.
Parameters
collectionName
string
The name of the collection to create.
dimension
number
The dimensionality of the vector embeddings that will be stored in this collection.
options?
Optional parameters for collection creation, such as similarity metric or provider-specific settings.
Returns
Promise<void>
A promise that resolves when the collection is successfully created.
Async
Throws
If collection creation fails (e.g., name conflict and not overwriting, invalid parameters).
Implementation of
delete()
delete(
collectionName,ids?,options?):Promise<DeleteResult>
Defined in: packages/agentos/src/rag/implementations/vector_stores/HnswlibVectorStore.ts:402
Deletes documents from a specified collection by their IDs or by a metadata filter.
Parameters
collectionName
string
The name of the collection to delete documents from.
ids?
string[]
An array of document IDs to delete.
options?
Optional parameters, including metadata filters or a deleteAll flag.
If ids are provided, options.filter might be ignored or combined,
depending on store behavior. Use with caution.
Returns
Promise<DeleteResult>
A promise that resolves with the result of the delete operation.
Async
Throws
If the delete operation fails.
Implementation of
deleteCollection()
deleteCollection(
collectionName):Promise<void>
Defined in: packages/agentos/src/rag/implementations/vector_stores/HnswlibVectorStore.ts:191
Deletes an entire collection from the vector store. This is a destructive operation.
Parameters
collectionName
string
The name of the collection to delete.
Returns
Promise<void>
A promise that resolves when the collection is successfully deleted.
Async
Throws
If collection deletion fails.
Implementation of
getStats()
getStats(
collectionName?):Promise<Record<string,any>>
Defined in: packages/agentos/src/rag/implementations/vector_stores/HnswlibVectorStore.ts:500
Optional: Retrieves statistics about a specific collection or the store itself. The structure of the returned statistics is provider-dependent.
Parameters
collectionName?
string
Optional: The name of the collection to get stats for. If omitted, may return store-wide stats if supported.
Returns
Promise<Record<string, any>>
A promise that resolves with a statistics object.
Async
Throws
If fetching statistics fails.
Implementation of
initialize()
initialize(
config):Promise<void>
Defined in: packages/agentos/src/rag/implementations/vector_stores/HnswlibVectorStore.ts:87
Initializes the vector store provider with its specific configuration. This method must be called before any other operations can be performed. It sets up connections, authenticates, and prepares the store for use.
Parameters
config
The configuration object specific to this vector store provider.
This is typically a more specific type that extends VectorStoreProviderConfig.
Returns
Promise<void>
A promise that resolves when initialization is complete.