aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2020-09-02 15:33:12 +0200
committerLester Solbakken <lesters@oath.com>2020-09-02 15:33:12 +0200
commitc80e560d472bb37643b0eadac9e4915b16d11f3d (patch)
tree418f7faa37ac08f3242a872c8cc618279a9e8fec /config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java
parentf7551282dae23a3d079c406bd15b23025bbe0f68 (diff)
Add config generation for models evaluated via ONNXRT
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java b/config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java
new file mode 100644
index 00000000000..87663ac79a3
--- /dev/null
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/OnnxModels.java
@@ -0,0 +1,39 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.searchdefinition;
+
+import com.yahoo.vespa.model.AbstractService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * ONNX models tied to a search definition.
+ *
+ * @author lesters
+ */
+public class OnnxModels {
+
+ private final Map<String, OnnxModel> models = new HashMap<>();
+
+ public void add(OnnxModel model) {
+ model.validate();
+ String name = model.getName();
+ models.put(name, model);
+ }
+
+ public OnnxModel get(String name) {
+ return models.get(name);
+ }
+
+ public Map<String, OnnxModel> asMap() {
+ return Collections.unmodifiableMap(models);
+ }
+
+ /** Initiate sending of these models to some services over file distribution */
+ public void sendTo(Collection<? extends AbstractService> services) {
+ models.values().forEach(model -> model.sendTo(services));
+ }
+
+}