Abstract
Initializes a new vector store with embeddings and database configuration.
Instance of EmbeddingsInterface
used to embed queries.
Configuration settings for the database or storage system.
Embeddings interface for generating vector embeddings from text queries, enabling vector-based similarity searches.
Defines the filter type used in search and delete operations. Can be an object for structured conditions or a string for simpler filtering.
A map of aliases for constructor args. Keys are the attribute names, e.g. "foo". Values are the alias that will replace the key in serialization. This is used to eg. make argument names match Python.
A map of additional attributes to merge with constructor args. Keys are the attribute names, e.g. "foo". Values are the attribute values, which will be serialized. These attributes need to be accepted by the constructor as arguments.
The final serialized identifier for the module.
A map of secrets, which will be omitted from serialization. Keys are paths to the secret in constructor args, e.g. "foo.bar.baz". Values are the secret ids, which will be used when deserializing.
A manual list of keys that should be serialized. If not overridden, all fields passed into the constructor will be serialized.
Abstract
_Returns a string representing the type of vector store, which subclasses must implement to identify their specific vector storage type.
A string indicating the vector store type.
Abstract
addAdds documents to the vector store, embedding them first through the
embeddings
instance.
Array of documents to embed and add.
Optional
options: AddDocumentOptionsOptional configuration for embedding and storing documents.
A promise resolving to an array of document IDs or void, based on implementation.
Abstract
addAdds precomputed vectors and corresponding documents to the vector store.
An array of vectors representing each document.
Array of documents associated with each vector.
Optional
options: AddDocumentOptionsOptional configuration for adding vectors, such as indexing.
A promise resolving to an array of document IDs or void, based on implementation.
Creates a VectorStoreRetriever
instance with flexible configuration options.
Optional
kOrFields: number | Partial<VectorStoreRetrieverInput<SaveableVectorStore>>If a number is provided, it sets the k
parameter (number of items to retrieve).
Optional
filter: string | objectOptional filter criteria to limit the items retrieved based on the specified filter type.
Optional
callbacks: CallbacksOptional callbacks that may be triggered at specific stages of the retrieval process.
Optional
tags: string[]Tags to categorize or label the VectorStoreRetriever
. Defaults to an empty array if not provided.
Optional
metadata: Record<string, unknown>Additional metadata as key-value pairs to add contextual information for the retrieval process.
Optional
verbose: booleanIf true
, enables detailed logging for the retrieval process. Defaults to false
.
VectorStoreRetriever
instance based on the provided parameters.Deletes documents from the vector store based on the specified parameters.
Optional
_params: Record<string, any>Flexible key-value pairs defining conditions for document deletion.
A promise that resolves once the deletion is complete.
Optional
maxReturn documents selected using the maximal marginal relevance. Maximal marginal relevance optimizes for similarity to the query AND diversity among selected documents.
Text to look up documents similar to.
Options for configuring a maximal marginal relevance (MMR) search.
MMR search optimizes for both similarity to the query and diversity among the results, balancing the retrieval of relevant documents with variation in the content returned.
Fields:
fetchK
(optional): The initial number of documents to retrieve from the
vector store before applying the MMR algorithm. This larger set provides a
pool of documents from which the algorithm can select the most diverse
results based on relevance to the query.
filter
(optional): A filter of type FilterType
to refine the search
results, allowing additional conditions to target specific subsets
of documents.
k
: The number of documents to return in the final results. This is the
primary count of documents that are most relevant to the query.
lambda
(optional): A value between 0 and 1 that determines the balance
between relevance and diversity:
lambda
of 0 emphasizes diversity, maximizing content variation.lambda
of 1 emphasizes similarity to the query, focusing on relevance.
Values between 0 and 1 provide a mix of relevance and diversity.Optional
fetchK?: numberOptional
filter?: FilterTypeOptional
lambda?: numberAbstract
saveSaves the current state of the vector store to the specified directory.
This method must be implemented by subclasses to define their own serialization process for persisting vector data. The implementation determines the structure and format of the saved data.
The directory path where the vector store data will be saved.
Searches for documents similar to a text query by embedding the query and performing a similarity search on the resulting vector.
Text query for finding similar documents.
Number of similar results to return. Defaults to 4.
Optional filter based on FilterType
.
Optional callbacks for monitoring search progress
A promise resolving to an array of DocumentInterface
instances representing similar documents.
Abstract
similarityPerforms a similarity search using a vector query and returns results along with their similarity scores.
Vector representing the search query.
Number of similar results to return.
Optional
filter: string | objectOptional filter based on FilterType
to restrict results.
A promise resolving to an array of tuples containing documents and their similarity scores.
Searches for documents similar to a text query by embedding the query, and returns results with similarity scores.
Text query for finding similar documents.
Number of similar results to return. Defaults to 4.
Optional filter based on FilterType
.
Optional callbacks for monitoring search progress
A promise resolving to an array of tuples, each containing a document and its similarity score.
Static
fromCreates a VectorStore
instance from an array of documents, using the specified
embeddings and database configuration.
Subclasses must implement this method to define how documents are embedded and stored. Throws an error if not overridden.
Array of DocumentInterface
instances representing the documents to be stored.
Instance of EmbeddingsInterface
to embed the documents.
Database configuration settings.
A promise that resolves to a new VectorStore
instance.
Static
fromCreates a VectorStore
instance from an array of text strings and optional
metadata, using the specified embeddings and database configuration.
Subclasses must implement this method to define how text and metadata are embedded and stored in the vector store. Throws an error if not overridden.
Array of strings representing the text documents to be stored.
Metadata for the texts, either as an array (one for each text) or a single object (applied to all texts).
Instance of EmbeddingsInterface
to embed the texts.
Database configuration settings.
A promise that resolves to a new VectorStore
instance.
Static
lc_The name of the serializable. Override to provide an alias or to preserve the serialized module name in minified environments.
Implemented as a static method to support loading logic.
Static
loadLoads a vector store instance from the specified directory, using the provided embeddings to ensure compatibility.
This static method reconstructs a SaveableVectorStore
from previously
saved data. Implementations should interpret the saved data format to
recreate the vector store instance.
The directory path from which the vector store data will be loaded.
An instance of EmbeddingsInterface
to align
the embeddings with the loaded vector data.
A promise that resolves to a SaveableVectorStore
instance
constructed from the saved data.
Abstract class extending
VectorStore
that defines a contract for saving and loading vector store instances.The
SaveableVectorStore
class allows vector store implementations to persist their data and retrieve it when needed.The format for saving and loading data is left to the implementing subclass.Subclasses must implement the
save
method to handle their custom serialization logic, while theload
method enables reconstruction of a vector store from saved data, requiring compatible embeddings through theEmbeddingsInterface
.