Class WeaviateEmbeddingStore
java.lang.Object
dev.langchain4j.store.embedding.weaviate.WeaviateEmbeddingStore
- All Implemented Interfaces:
dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
public class WeaviateEmbeddingStore
extends Object
implements dev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
Represents the Weaviate vector database.
Current implementation assumes the cosine distance metric is used.
-
Constructor Summary
ConstructorsConstructorDescriptionWeaviateEmbeddingStore(String apiKey, String scheme, String host, Integer port, Boolean useGrpcForInserts, Boolean securedGrpc, Integer grpcPort, String objectClass, Boolean avoidDups, String consistencyLevel, Collection<String> metadataKeys) Creates a new WeaviateEmbeddingStore instance. -
Method Summary
Modifier and TypeMethodDescriptionadd(dev.langchain4j.data.embedding.Embedding embedding) add(dev.langchain4j.data.embedding.Embedding embedding, dev.langchain4j.data.segment.TextSegment textSegment) voidAdds a new embedding with provided ID to the store.addAll(List<dev.langchain4j.data.embedding.Embedding> embeddings, List<dev.langchain4j.data.segment.TextSegment> embedded) List<dev.langchain4j.store.embedding.EmbeddingMatch<dev.langchain4j.data.segment.TextSegment>> findRelevant(dev.langchain4j.data.embedding.Embedding referenceEmbedding, int maxResults, double minCertainty) The score insideEmbeddingMatchis Weaviate's certainty.voidvoidremoveAll(Collection<String> ids) 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
findRelevant, findRelevant, findRelevant, remove, removeAll, search
-
Constructor Details
-
WeaviateEmbeddingStore
public WeaviateEmbeddingStore(String apiKey, String scheme, String host, Integer port, Boolean useGrpcForInserts, Boolean securedGrpc, Integer grpcPort, String objectClass, Boolean avoidDups, String consistencyLevel, Collection<String> metadataKeys) Creates a new WeaviateEmbeddingStore instance.- Parameters:
apiKey- Your Weaviate API key. Not required for local deployment.scheme- The scheme, e.g. "https" of cluster URL. Find in under Details of your Weaviate cluster.host- The host, e.g. "langchain4j-4jw7ufd9.weaviate.network" of cluster URL. Find in under Details of your Weaviate cluster.port- The port, e.g. 8080. This parameter is optional.useGrpcForInserts- Use GRPC instead of HTTP for batch inserts only. You still need HTTP configured for searchsecuredGrpc- The GRPC connection is securedgrpcPort- The port, e.g. 50051. This parameter is optional.objectClass- The object class you want to store, e.g. "MyGreatClass". Must start from an uppercase letter.avoidDups- If true (default), thenWeaviateEmbeddingStorewill generate a hashed ID based on provided text segment, which avoids duplicated entries in DB. If false, then random ID will be generated.consistencyLevel- Consistency level: ONE, QUORUM (default) or ALL. Find more details here.metadataKeys- Metadata keys that should be persisted (optional)
-
-
Method Details
-
add
- Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
add
Adds a new embedding with provided ID to the store.- Specified by:
addin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>- Parameters:
id- the ID of the embedding to add in UUID format, since it's Weaviate requirement. See Weaviate docs and UUID on Wikipediaembedding- the embedding to add
-
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>
-
addAll
public List<String> addAll(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>
-
removeAll
- Specified by:
removeAllin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-
removeAll
public void removeAll()- Specified by:
removeAllin 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 minCertainty) The score insideEmbeddingMatchis Weaviate's certainty.- Specified by:
findRelevantin interfacedev.langchain4j.store.embedding.EmbeddingStore<dev.langchain4j.data.segment.TextSegment>
-