diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-08-24 14:08:50 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-08-24 14:08:50 +0200 |
commit | 57b9a89b7dac7b68a4b12bafe38b0c3b744274d3 (patch) | |
tree | bbd3b5f1eda3c2b462d6e59131a9e5b38057b275 /config-model | |
parent | 6e0094d2b126f72295bcecb854d3f5b56b7df02c (diff) |
Output valid models
Diffstat (limited to 'config-model')
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 |