Class CosmosDBVectorStore
java.lang.Object
org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
org.springframework.ai.vectorstore.cosmosdb.CosmosDBVectorStore
- All Implemented Interfaces:
AutoCloseable,Consumer<List<Document>>,DocumentWriter,VectorStore,VectorStoreRetriever
Cosmos DB implementation.
- Since:
- 1.0.0
- Author:
- Theo van Kraay, Soby Chacko, Thomas Vitale
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder class for creatingCosmosDBVectorStoreinstances. -
Field Summary
Fields inherited from class org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
batchingStrategy, embeddingModel -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedProtected constructor that accepts a builder instance. -
Method Summary
Modifier and TypeMethodDescriptionstatic CosmosDBVectorStore.Builderbuilder(com.azure.cosmos.CosmosAsyncClient cosmosClient, EmbeddingModel embeddingModel) voidclose()createObservationContextBuilder(String operationName) Create a newVectorStoreObservationContext.Builderinstance.voidPerform the actual add operation.voidPerform the actual delete operation.doSimilaritySearch(SearchRequest request) Perform the actual similarity search operation.<T> Optional<T> Returns the native client if available in this vector store implementation.similaritySearch(String query) Retrieves documents by query embedding similarity using the defaultSearchRequest's search criteria.Methods inherited from class org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
add, delete, delete, doDelete, similaritySearchMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.ai.document.DocumentWriter
writeMethods inherited from interface org.springframework.ai.vectorstore.VectorStore
accept, delete, getName
-
Constructor Details
-
CosmosDBVectorStore
Protected constructor that accepts a builder instance. This is the preferred way to create new CosmosDBVectorStore instances.- Parameters:
builder- the configured builder instance
-
-
Method Details
-
builder
public static CosmosDBVectorStore.Builder builder(com.azure.cosmos.CosmosAsyncClient cosmosClient, EmbeddingModel embeddingModel) -
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
doAdd
Description copied from class:AbstractObservationVectorStorePerform the actual add operation.- Specified by:
doAddin classAbstractObservationVectorStore- Parameters:
documents- the documents to add
-
doDelete
Description copied from class:AbstractObservationVectorStorePerform the actual delete operation.- Specified by:
doDeletein classAbstractObservationVectorStore- Parameters:
idList- the list of document IDs to delete
-
similaritySearch
Description copied from interface:VectorStoreRetrieverRetrieves documents by query embedding similarity using the defaultSearchRequest's search criteria.- Specified by:
similaritySearchin interfaceVectorStoreRetriever- Parameters:
query- Text to use for embedding similarity comparison.- Returns:
- Returns a list of documents that have embeddings similar to the query text embedding.
-
doSimilaritySearch
Description copied from class:AbstractObservationVectorStorePerform the actual similarity search operation.- Specified by:
doSimilaritySearchin classAbstractObservationVectorStore- Parameters:
request- the search request- Returns:
- the list of documents that match the query request conditions
-
createObservationContextBuilder
Description copied from class:AbstractObservationVectorStoreCreate a newVectorStoreObservationContext.Builderinstance.- Specified by:
createObservationContextBuilderin classAbstractObservationVectorStore- Parameters:
operationName- the operation name- Returns:
- the observation context builder
-
getNativeClient
Description copied from interface:VectorStoreReturns the native client if available in this vector store implementation. Note on usage: 1. Returns empty Optional when no native client is available 2. Due to Java type erasure, runtime type checking is not possible Example usage: When working with implementation with known native client: Optionalclient = vectorStore.getNativeClient(); Note: Using Optionalinvalid input: '<'?> will return the native client if one exists, rather than an empty Optional. For type safety, prefer using the specific client type. - Specified by:
getNativeClientin interfaceVectorStore- Type Parameters:
T- The type of the native client- Returns:
- Optional containing native client if available, empty Optional otherwise
-