diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-05-04 14:55:28 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-05-04 14:55:37 +0200 |
commit | 75fb40be2b23044ff148568c3544e66c4a7e79ec (patch) | |
tree | 8219dcf9530d40d5d7112cbbff129708802ab7ce /config-model | |
parent | 5595b5cc462458e923d1873512967c1caa043d47 (diff) |
Always setup OnnxRuntime component for application clusters
Diffstat (limited to 'config-model')
3 files changed, 7 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java index 0be3c825614..34c565871db 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerModelEvaluation.java @@ -29,6 +29,7 @@ public class ContainerModelEvaluation implements public final static String EVALUATION_BUNDLE_NAME = "model-evaluation"; public final static String INTEGRATION_BUNDLE_NAME = "model-integration"; public final static String ONNXRUNTIME_BUNDLE_NAME = "container-onnxruntime.jar"; + public final static String ONNX_RUNTIME_CLASS = "ai.vespa.modelintegration.evaluator.OnnxRuntime"; private final static String EVALUATOR_NAME = ModelsEvaluator.class.getName(); private final static String REST_HANDLER_NAME = "ai.vespa.models.handler.ModelsEvaluationHandler"; @@ -44,7 +45,6 @@ public class ContainerModelEvaluation implements public ContainerModelEvaluation(ApplicationContainerCluster cluster, RankProfileList rankProfileList) { this.rankProfileList = Objects.requireNonNull(rankProfileList, "rankProfileList cannot be null"); cluster.addSimpleComponent(EVALUATOR_NAME, null, EVALUATION_BUNDLE_NAME); - cluster.addSimpleComponent("ai.vespa.modelintegration.evaluator.OnnxRuntime", null, INTEGRATION_BUNDLE_NAME); cluster.addComponent(ContainerModelEvaluation.getHandler()); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java index 1aa4333a18c..49361b887c4 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java @@ -62,7 +62,7 @@ public class ConfigServerContainerModelBuilder extends ContainerModelBuilder { } @Override - protected void addModelEvaluationBundles(ApplicationContainerCluster cluster) { + protected void addModelEvaluationRuntime(ApplicationContainerCluster cluster) { // Model evaluation bundles are pre-installed in the standalone container. } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 0270e91b238..ef5b29ccfb8 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -221,8 +221,8 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { addAccessLogs(deployState, cluster, spec); addNodes(cluster, spec, context); + addModelEvaluationRuntime(cluster); addModelEvaluation(spec, cluster, context); // NOTE: Must be done after addNodes - addModelEvaluationBundles(cluster); addServerProviders(deployState, spec, cluster); @@ -705,13 +705,16 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { return (child != null) ? Integer.parseInt(child.getTextContent()) : defaultValue; } - protected void addModelEvaluationBundles(ApplicationContainerCluster cluster) { + protected void addModelEvaluationRuntime(ApplicationContainerCluster cluster) { /* These bundles are added to all application container clusters, even if they haven't * declared 'model-evaluation' in services.xml, because there are many public API packages * in the model-evaluation bundle that could be used by customer code. */ cluster.addPlatformBundle(ContainerModelEvaluation.MODEL_EVALUATION_BUNDLE_FILE); cluster.addPlatformBundle(ContainerModelEvaluation.MODEL_INTEGRATION_BUNDLE_FILE); cluster.addPlatformBundle(ContainerModelEvaluation.ONNXRUNTIME_BUNDLE_FILE); + /* The ONNX runtime is always available for injection to any component */ + cluster.addSimpleComponent( + ContainerModelEvaluation.ONNX_RUNTIME_CLASS, null, ContainerModelEvaluation.INTEGRATION_BUNDLE_NAME); } private void addProcessing(DeployState deployState, Element spec, ApplicationContainerCluster cluster, ConfigModelContext context) { |