Class AzureCosmosDbNoSqlEmbeddingStore
java.lang.Object
dev.langchain4j.store.embedding.azure.cosmos.nosql.AzureCosmosDbNoSqlEmbeddingStore
- All Implemented Interfaces:
dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
public class AzureCosmosDbNoSqlEmbeddingStore
extends Object
implements dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
Implementation of
EmbeddingStore that uses Azure Cosmos DB NoSQL API for storing and retrieving embeddings.
This store provides vector search capabilities using Cosmos DB's vector search functionality.
You can read more about vector search using Azure Cosmos DB NoSQL here.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder for creatingAzureCosmosDbNoSqlEmbeddingStoreinstances. -
Constructor Summary
ConstructorsConstructorDescriptionAzureCosmosDbNoSqlEmbeddingStore(com.azure.cosmos.CosmosClient cosmosClient, String databaseName, String containerName, com.azure.cosmos.models.CosmosVectorEmbeddingPolicy cosmosVectorEmbeddingPolicy, List<com.azure.cosmos.models.CosmosVectorIndexSpec> cosmosVectorIndexes, com.azure.cosmos.models.CosmosContainerProperties containerProperties) Creates a new instance ofAzureCosmosDbNoSqlEmbeddingStore. -
Method Summary
Modifier and TypeMethodDescriptionadd(dev.langchain4j.data.embedding.Embedding embedding) add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment) voidvoidaddAll(List<String> ids, List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded) builder()Creates a new builder forAzureCosmosDbNoSqlEmbeddingStore.List<dev.langchain4j.store.embedding.EmbeddingMatch<dev.langchain4j.data.segment.TextSegment>> findRelevant(dev.langchain4j.data.embedding.Embedding referenceEmbedding, int maxResults, double minScore) Finds embeddings relevant to the reference embedding.dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> search(dev.langchain4j.store.embedding.EmbeddingSearchRequest request) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.langchain4j.store.embedding.EmbeddingStore
addAll, generateIds, remove, removeAll, removeAll, removeAll
-
Constructor Details
-
AzureCosmosDbNoSqlEmbeddingStore
public AzureCosmosDbNoSqlEmbeddingStore(com.azure.cosmos.CosmosClient cosmosClient, String databaseName, String containerName, com.azure.cosmos.models.CosmosVectorEmbeddingPolicy cosmosVectorEmbeddingPolicy, List<com.azure.cosmos.models.CosmosVectorIndexSpec> cosmosVectorIndexes, com.azure.cosmos.models.CosmosContainerProperties containerProperties) Creates a new instance ofAzureCosmosDbNoSqlEmbeddingStore.- Parameters:
cosmosClient- The Cosmos DB clientdatabaseName- The name of the databasecontainerName- The name of the containercosmosVectorEmbeddingPolicy- The vector embedding policycosmosVectorIndexes- The vector indexescontainerProperties- The container properties- Throws:
IllegalArgumentException- if any of the required parameters is null or empty
-
-
Method Details
-
builder
Creates a new builder forAzureCosmosDbNoSqlEmbeddingStore.- Returns:
- a new builder instance
-
add
- Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
add
- Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
add
public String add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment) - Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
addAll
- Specified by:
addAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
search
public dev.langchain4j.store.embedding.EmbeddingSearchResult<dev.langchain4j.data.segment.TextSegment> search(dev.langchain4j.store.embedding.EmbeddingSearchRequest request) - Specified by:
searchin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
findRelevant
public List<dev.langchain4j.store.embedding.EmbeddingMatch<dev.langchain4j.data.segment.TextSegment>> findRelevant(dev.langchain4j.data.embedding.Embedding referenceEmbedding, int maxResults, double minScore) Finds embeddings relevant to the reference embedding.- Parameters:
referenceEmbedding- The reference embedding to compare againstmaxResults- The maximum number of results to returnminScore- The minimum similarity score required- Returns:
- A list of embedding matches ordered by relevance
-
addAll
public void addAll(List<String> ids, List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded) - Specified by:
addAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-