Skip to content

AzureCosmosDBMongoDBVectorStore

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:75

Azure Cosmos DB for MongoDB vCore vector store. To use this, you should have both:

  • the mongodb NPM package installed
  • a connection string associated with a MongoDB VCore Cluster

You 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.

  • BaseVectorStore

new AzureCosmosDBMongoDBVectorStore(init): AzureCosmosDBMongoDBVectorStore

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:106

Partial<AzureCosmosDBMongoDBVectorStore> & object & VectorStoreBaseParams

AzureCosmosDBMongoDBVectorStore

BaseVectorStore.constructor

storesText: boolean = true

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:76

BaseVectorStore.storesText


flatMetadata: boolean = true

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:77


dbName: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:79


collectionName: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:81


indexedMetadataFields: string[]

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:83


mongodbClient: MongoClient

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:88

The used MongoClient. If not given, a new MongoClient is created based on the MONGODB_URI env variable.


indexName: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:90


embeddingKey: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:92


idKey: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:94


textKey: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:96


metadataKey: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:98


indexOptions: AzureCosmosDBMongoDBIndexOptions

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:100

client(): MongoClient

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:140

MongoClient

BaseVectorStore.client


ensureCollection(): Promise<Collection<Document>>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:144

Promise<Collection<Document>>


add(nodes): Promise<string[]>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:156

BaseNode<Metadata>[]

Promise<string[]>

BaseVectorStore.add


delete(id, deleteOptions?): Promise<void>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:194

Removes specified documents from the AzureCosmosDBMongoDBVectorStore.

string

object

Promise<void>

A promise that resolves when the documents have been removed.

BaseVectorStore.delete


query(query, options): Promise<VectorStoreQueryResult>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:204

VectorStoreQuery

AzureCosmosDBMongoDBQueryOptions

Promise<VectorStoreQueryResult>

BaseVectorStore.query


createIndex(dimensions, indexType, similarity): Promise<void>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:283

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.

As for the compression, the following options are available:

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.

undefined | number

Index Type for Mongo vCore index.

"ivf" | "hnsw" | "diskann"

AzureCosmosDBMongoDBSimilarityType = AzureCosmosDBMongoDBSimilarityType.COS

Similarity metric to use with the IVF index. Possible options are:

  • CosmosDBSimilarityType.COS (cosine distance)
  • CosmosDBSimilarityType.L2 (Euclidean distance)
  • CosmosDBSimilarityType.IP (inner product)

Promise<void>

A promise that resolves when the index has been created.


checkIndexExists(): Promise<boolean>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:348

Checks if the specified index name during instance construction exists on the collection.

Promise<boolean>

A promise that resolves to a boolean indicating if the index exists.


deleteIndex(indexName): Promise<void>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:358

Deletes the index specified during instance construction if it exists.

string

Promise<void>

A promise that resolves when the index has been deleted.