diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2019-10-23 16:48:15 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2019-10-23 16:48:15 +0200 |
commit | 86900faea847dba18b4b3116ecec0f4856a2bf93 (patch) | |
tree | b2bedeca52751fd20e4b03c559ba5cb36f4aec4e /model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java | |
parent | 1fffa2c0508b0d0e48bfdb26f9b21c5b3b89bac0 (diff) |
Support setting missing-value in evaluate HTTP requests
Diffstat (limited to 'model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java')
-rw-r--r-- | model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java b/model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java index 4ae96bfd62f..5c353fcdf35 100644 --- a/model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java +++ b/model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java @@ -26,6 +26,9 @@ import java.util.concurrent.Executor; public class ModelsEvaluationHandler extends ThreadedHttpRequestHandler { + /** A dash in this key ensures it does not collide with feature names */ + private static final String missingValueKey = "missing-value"; + public static final String API_ROOT = "model-evaluation"; public static final String VERSION_V1 = "v1"; public static final String EVALUATE = "eval"; @@ -70,6 +73,9 @@ public class ModelsEvaluationHandler extends ThreadedHttpRequestHandler { private HttpResponse evaluateModel(HttpRequest request, Model model, String[] function) { FunctionEvaluator evaluator = model.evaluatorOf(function); + + property(request, missingValueKey).ifPresent(missingValue -> evaluator.setMissingValue(Tensor.from(missingValue))); + for (Map.Entry<String, TensorType> argument : evaluator.function().argumentTypes().entrySet()) { property(request, argument.getKey()).ifPresent(value -> evaluator.bind(argument.getKey(), Tensor.from(argument.getValue(), value))); |