aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-08-24 14:08:50 +0200
committerJon Bratseth <bratseth@gmail.com>2022-08-24 14:08:50 +0200
commit57b9a89b7dac7b68a4b12bafe38b0c3b744274d3 (patch)
treebbd3b5f1eda3c2b462d6e59131a9e5b38057b275 /config-model
parent6e0094d2b126f72295bcecb854d3f5b56b7df02c (diff)
Output valid models
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/EmbedderConfigTransformer.java17
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/EmbedderTestCase.java5
2 files changed, 14 insertions, 8 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/EmbedderConfigTransformer.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/EmbedderConfigTransformer.java
index 51ca2efcdd5..8daf4c5caaf 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/EmbedderConfigTransformer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/EmbedderConfigTransformer.java
@@ -5,6 +5,8 @@ import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.text.XML;
import org.w3c.dom.Element;
+import java.util.Map;
+
/**
* Translates config in services.xml of the form
*
@@ -27,6 +29,10 @@ import org.w3c.dom.Element;
*/
public class EmbedderConfigTransformer {
+ private static final Map<String, String> providedModels =
+ Map.of("minilm-l6-v2", "https://data.vespa.oath.cloud/onnx_models/sentence_all_MiniLM_L6_v2.onnx",
+ "bert-base-uncased", "https://data.vespa.oath.cloud/onnx_models/bert-base-uncased-vocab.txt");
+
// Until we have optional path parameters, use services.xml as it is guaranteed to exist
private final static String dummyPath = "services.xml";
@@ -99,13 +105,10 @@ public class EmbedderConfigTransformer {
}
private static String modelIdToUrl(String id) {
- switch (id) {
- case "minilm-l6-v2":
- return "https://data.vespa.oath.cloud/onnx_models/sentence_all_MiniLM_L6_v2.onnx";
- case "bert-base-uncased":
- return "https://data.vespa.oath.cloud/onnx_models/bert-base-uncased-vocab.txt";
- }
- throw new IllegalArgumentException("Unknown model id '" + id + "'");
+ if ( ! providedModels.containsKey(id))
+ throw new IllegalArgumentException("Unknown embedder model '" + id + "'. Available models are " +
+ providedModels.keySet());
+ return providedModels.get(id);
}
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/EmbedderTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/EmbedderTestCase.java
index a987ce8951f..05f848777d4 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/EmbedderTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/EmbedderTestCase.java
@@ -136,7 +136,10 @@ public class EmbedderTestCase {
" <transformerModel id='my_model_id' />" +
" <tokenizerVocab id='my_vocab_id' />" +
"</embedder>";
- assertTransformThrows(embedder, "Unknown model id 'my_model_id'", true);
+ assertTransformThrows(embedder,
+ "Unknown embedder model 'my_model_id'. " +
+ "Available models are [bert-base-uncased, minilm-l6-v2]",
+ true);
}
@Test