Class AzureVectorStore
java.lang.Object
org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
org.springframework.ai.vectorstore.azure.AzureVectorStore
- All Implemented Interfaces:
Consumer<List<Document>>,DocumentWriter,VectorStore,VectorStoreRetriever,org.springframework.beans.factory.InitializingBean
public class AzureVectorStore
extends AbstractObservationVectorStore
implements org.springframework.beans.factory.InitializingBean
Uses Azure Cognitive Search as a backing vector store. Documents can be preloaded into
a Cognitive Search index and managed via Azure tools or added and managed through this
VectorStore. The underlying index is configured in the provided Azure
SearchIndexClient.
- Author:
- Greg Meyer, Xiangyang Yu, Christian Tzolov, Josh Long, Thomas Vitale, Soby Chacko, Jinwoo Lee
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder class for creatingAzureVectorStoreinstances.static final record -
Field Summary
FieldsFields inherited from class org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore
batchingStrategy, embeddingModel -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAzureVectorStore(AzureVectorStore.Builder builder) Protected constructor that accepts a builder instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidstatic AzureVectorStore.Builderbuilder(com.azure.search.documents.indexes.SearchIndexClient searchIndexClient, EmbeddingModel embeddingModel) 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
-
Field Details
-
DEFAULT_INDEX_NAME
- See Also:
-
-
Constructor Details
-
AzureVectorStore
Protected constructor that accepts a builder instance. This is the preferred way to create new AzureVectorStore instances.- Parameters:
builder- the configured builder instance
-
-
Method Details
-
builder
public static AzureVectorStore.Builder builder(com.azure.search.documents.indexes.SearchIndexClient searchIndexClient, EmbeddingModel embeddingModel) -
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:
documentIds- 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
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
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
-