Logo
Classes

AzureCosmosDBMongoDBVectorStore

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:61

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.

Extends

  • BaseVectorStore

Constructors

new AzureCosmosDBMongoDBVectorStore()

new AzureCosmosDBMongoDBVectorStore(init): AzureCosmosDBMongoDBVectorStore

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

Parameters

init

Partial<AzureCosmosDBMongoDBVectorStore> & object & VectorStoreBaseParams

Returns

AzureCosmosDBMongoDBVectorStore

Overrides

BaseVectorStore.constructor

Properties

storesText

storesText: boolean = true

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:62

Overrides

BaseVectorStore.storesText


flatMetadata

flatMetadata: boolean = true

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:63


dbName

dbName: string

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:65


collectionName

collectionName: string

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:67


indexedMetadataFields

indexedMetadataFields: string[]

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:69


mongodbClient

mongodbClient: MongoClient

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:74

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


indexName

indexName: string

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


embeddingKey

embeddingKey: string

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:78


idKey

idKey: string

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:80


textKey

textKey: string

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:82


metadataKey

metadataKey: string

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:84


indexOptions

indexOptions: AzureCosmosDBMongoDBIndexOptions

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:86

Methods

client()

client(): MongoClient

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:126

Returns

MongoClient

Overrides

BaseVectorStore.client


ensureCollection()

ensureCollection(): Promise<Collection<Document>>

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:130

Returns

Promise<Collection<Document>>


add()

add(nodes): Promise<string[]>

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:142

Parameters

nodes

BaseNode<Metadata>[]

Returns

Promise<string[]>

Overrides

BaseVectorStore.add


delete()

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

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:180

Removes specified documents from the AzureCosmosDBMongoDBVectorStore.

Parameters

id

string

deleteOptions?

object

Returns

Promise<void>

A promise that resolves when the documents have been removed.

Overrides

BaseVectorStore.delete


query()

query(query, options?): Promise<VectorStoreQueryResult>

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:190

Parameters

query

VectorStoreQuery

options?

object

Returns

Promise<VectorStoreQueryResult>

Overrides

BaseVectorStore.query


createIndex()

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

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:260

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.

Parameters

dimensions

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

indexType

Index Type for Mongo vCore index.

"hnsw" | "ivf" | "diskann"

similarity

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)

Returns

Promise<void>

A promise that resolves when the index has been created.


checkIndexExists()

checkIndexExists(): Promise<boolean>

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:313

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

Returns

Promise<boolean>

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


deleteIndex()

deleteIndex(indexName): Promise<void>

Defined in: providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:323

Deletes the index specified during instance construction if it exists.

Parameters

indexName

string

Returns

Promise<void>

A promise that resolves when the index has been deleted.