Skip to content

Commit 7c552e4

Browse files
committed
feat: add static factories for vectorizer modules
Drop Contextionary vectorizer
1 parent 29d6b9b commit 7c552e4

10 files changed

Lines changed: 1038 additions & 194 deletions

File tree

src/it/java/io/weaviate/containers/Container.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
public class Container {
1616
public static final Weaviate WEAVIATE = Weaviate.createDefault();
17-
public static final Contextionary CONTEXTIONARY = Contextionary.createDefault();
17+
public static final Transformers TRANSFORMERS = Transformers.createDefault();
1818
public static final Img2VecNeural IMG2VEC_NEURAL = Img2VecNeural.createDefault();
1919
public static final MinIo MINIO = MinIo.createDefault();
2020

src/it/java/io/weaviate/containers/Contextionary.java

Lines changed: 0 additions & 46 deletions
This file was deleted.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package io.weaviate.containers;
2+
3+
import org.testcontainers.containers.GenericContainer;
4+
5+
import io.weaviate.client6.v1.api.collections.VectorConfig;
6+
7+
public class Transformers extends GenericContainer<Transformers> {
8+
public static final String VERSION = "sentence-transformers-all-MiniLM-L6-v2";
9+
public static final String DOCKER_IMAGE = "cr.weaviate.io/semitechnologies/transformers-inference";
10+
public static final String MODULE = VectorConfig.Kind.TEXT2VEC_TRANSFORMERS.jsonValue();
11+
12+
public static final String HOST_NAME = "transformers";
13+
public static final String URL = HOST_NAME + ":8080";
14+
15+
static Transformers createDefault() {
16+
return new Builder().build();
17+
}
18+
19+
static Transformers.Builder custom() {
20+
return new Builder();
21+
}
22+
23+
public static class Builder {
24+
private String versionTag;
25+
26+
public Builder() {
27+
this.versionTag = VERSION;
28+
}
29+
30+
public Transformers build() {
31+
var container = new Transformers(DOCKER_IMAGE + ":" + versionTag);
32+
container
33+
.withEnv("ENABLE_CUDA", "0");
34+
container.withCreateContainerCmdModifier(cmd -> cmd.withHostName(HOST_NAME));
35+
return container;
36+
}
37+
}
38+
39+
public Transformers(String image) {
40+
super(image);
41+
}
42+
}

src/it/java/io/weaviate/containers/Weaviate.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ public Builder withDefaultVectorizer(String module) {
112112
return this;
113113
}
114114

115-
public Builder withContextionaryUrl(String url) {
116-
addModules(Contextionary.MODULE);
117-
environment.put("CONTEXTIONARY_URL", url);
115+
public Builder withTransformersUrl(String url) {
116+
addModules(Transformers.MODULE);
117+
environment.put("TRANSFORMERS_INFERENCE_API", url);
118118
return this;
119119
}
120120

@@ -138,6 +138,7 @@ public Builder withFilesystemBackup(String fsPath) {
138138
environment.put("BACKUP_FILESYSTEM_PATH", fsPath);
139139
return this;
140140
}
141+
141142
public Builder withAdminUsers(String... admins) {
142143
adminUsers.addAll(Arrays.asList(admins));
143144
return this;

src/it/java/io/weaviate/integration/SearchITest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,19 @@
4141
import io.weaviate.client6.v1.api.collections.vectorindex.MultiVector;
4242
import io.weaviate.containers.Container;
4343
import io.weaviate.containers.Container.ContainerGroup;
44-
import io.weaviate.containers.Contextionary;
4544
import io.weaviate.containers.Img2VecNeural;
45+
import io.weaviate.containers.Transformers;
4646
import io.weaviate.containers.Weaviate;
4747

4848
public class SearchITest extends ConcurrentTest {
4949
private static final ContainerGroup compose = Container.compose(
5050
Weaviate.custom()
51-
.withContextionaryUrl(Contextionary.URL)
51+
.withTransformersUrl(Transformers.URL)
5252
.withImageInference(Img2VecNeural.URL, Img2VecNeural.MODULE)
5353
.addModules("generative-dummy")
5454
.build(),
5555
Container.IMG2VEC_NEURAL,
56-
Container.CONTEXTIONARY);
56+
Container.TRANSFORMERS);
5757
@ClassRule // Bind containers to the lifetime of the test
5858
public static final TestRule _rule = compose.asTestRule();
5959
private static final WeaviateClient client = compose.getClient();

0 commit comments

Comments
 (0)