Readonly
embeddingReadonly
indexInitializes the AzureCosmosDBMongoDBVectorStore. Connect the client to the database and create the container, creating them if needed.
A promise that resolves when the AzureCosmosDBMongoDBVectorStore has been initialized.
Readonly
textMethod for adding documents to the AzureCosmosDBMongoDBVectorStore. It first converts the documents to texts and then adds them as vectors.
The documents to add.
A promise that resolves to the added documents IDs.
Method for adding vectors to the AzureCosmosDBMongoDBVectorStore.
Vectors to be added.
Corresponding documents to be added.
A promise that resolves to the added documents IDs.
Creates an index on the collection with the specified index name during instance construction.
Setting the numLists parameter correctly is important for achieving good accuracy and performance. Since the vector store uses IVF as the indexing strategy, you should create the index only after you have loaded a large enough sample documents to ensure that the centroids for the respective buckets are faily distributed.
We recommend that numLists is set to documentCount/1000 for up to 1 million documents and to sqrt(documentCount) for more than 1 million documents. As the number of items in your database grows, you should tune numLists to be larger in order to achieve good latency performance for vector search.
If you're experimenting with a new scenario or creating a small demo, you can start with numLists set to 1 to perform a brute-force search across all vectors. This should provide you with the most accurate results from the vector search, however be aware that the search speed and latency will be slow. After your initial setup, you should go ahead and tune the numLists parameter using the above guidance.
This integer is the number of clusters that the inverted file (IVF) index uses to group the vector data. We recommend that numLists is set to documentCount/1000 for up to 1 million documents and to sqrt(documentCount) for more than 1 million documents. Using a numLists value of 1 is akin to performing brute-force search, which has limited performance
Number of dimensions for vector similarity. The maximum number of supported dimensions is 2000. If no number is provided, it will be determined automatically by embedding a short text.
Similarity metric to use with the IVF index. Possible options are:
A promise that resolves when the index has been created.
Removes specified documents from the AzureCosmosDBMongoDBVectorStore. If no IDs or filter are specified, all documents will be removed.
Parameters for the delete operation.
A promise that resolves when the documents have been removed.
Return 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.
List of documents selected by maximal marginal relevance.
Method that performs a similarity search on the vectors stored in the collection. It returns a list of documents and their corresponding similarity scores.
Query vector for the similarity search.
Promise that resolves to a list of documents and their corresponding similarity scores.
Static
fromStatic method to create an instance of AzureCosmosDBMongoDBVectorStore from a list of documents. It first converts the documents to vectors and then adds them to the collection.
List of documents to be converted to vectors.
Embeddings to be used for conversion.
Database configuration for Azure Cosmos DB for MongoDB vCore.
Promise that resolves to a new instance of AzureCosmosDBMongoDBVectorStore.
Static
fromStatic method to create an instance of AzureCosmosDBMongoDBVectorStore from a list of texts. It first converts the texts to vectors and then adds them to the collection.
List of texts to be converted to vectors.
Metadata for the texts.
Embeddings to be used for conversion.
Database configuration for Azure Cosmos DB for MongoDB vCore.
Promise that resolves to a new instance of AzureCosmosDBMongoDBVectorStore.
Azure Cosmos DB for MongoDB vCore vector store. To use this, you should have both:
mongodb
NPM package installedYou do not need to create a database or collection, it will be created automatically.
You also need an index on the collection, which is by default be created automatically using the
createIndex
method.