Class WeaviateEmbeddingStore
java.lang.Object
dev.langchain4j.store.embedding.weaviate.WeaviateEmbeddingStore
- All Implemented Interfaces:
EmbeddingStore<TextSegment>
Represents the Weaviate vector database.
Current implementation assumes the cosine distance metric is used.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class -
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, String textFieldName, String metadataFieldName) Creates a new WeaviateEmbeddingStore instance. -
Method Summary
Modifier and TypeMethodDescriptionadd(Embedding embedding, TextSegment textSegment) voidAdds a new embedding with provided ID to the store.voidbuilder()voidvoidremoveAll(Collection<String> ids) search(EmbeddingSearchRequest request) The score insideEmbeddingMatchis Weaviate's certainty.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface EmbeddingStore
addAll, generateIds, remove, removeAll
-
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, String textFieldName, String metadataFieldName) 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)textFieldName- The name of the field that contains the text of aTextSegment. Default is "text".metadataFieldName- metadataFieldName The name of the field whereMetadataentries are stored. Default is "_metadata". If set to empty string,Metadataentries will be stored in the root of the Weaviate object.
-
-
Method Details
-
builder
-
add
- Specified by:
addin interfaceEmbeddingStore<TextSegment>
-
add
Adds a new embedding with provided ID to the store.- Specified by:
addin interfaceEmbeddingStore<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
- Specified by:
addin interfaceEmbeddingStore<TextSegment>
-
addAll
- Specified by:
addAllin interfaceEmbeddingStore<TextSegment>
-
removeAll
- Specified by:
removeAllin interfaceEmbeddingStore<TextSegment>
-
removeAll
public void removeAll()- Specified by:
removeAllin interfaceEmbeddingStore<TextSegment>
-
search
The score insideEmbeddingMatchis Weaviate's certainty.- Specified by:
searchin interfaceEmbeddingStore<TextSegment>
-
addAll
- Specified by:
addAllin interfaceEmbeddingStore<TextSegment>
-