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.