diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-01-14 18:41:49 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2023-01-14 18:41:49 +0100 |
commit | 416f596b150ec159717bfd2f9b2ef70e4d4cd3dd (patch) | |
tree | fd78cf0541670dd50e2dc3256c5b9755ced8f73e /model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java | |
parent | a289581cbf94ff6997356110b54bd6993e956b9e (diff) |
Support direct tensor rendering
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 | 18 |
1 files changed, 9 insertions, 9 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 ef04b6641e5..1bcd6363d2d 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 @@ -91,15 +91,15 @@ public class ModelsEvaluationHandler extends ThreadedHttpRequestHandler { } } Tensor result = evaluator.evaluate(); - - Optional<String> format = property(request, "format.tensors"); - if (format.isPresent() && format.get().equalsIgnoreCase("long")) { - return new Response(200, JsonFormat.encode(result)); - } - else if (format.isPresent() && format.get().equalsIgnoreCase("string")) { - return new Response(200, result.toString().getBytes(StandardCharsets.UTF_8)); - } - return new Response(200, JsonFormat.encodeShortForm(result)); + return switch (property(request, "format.tensors").orElse("short").toLowerCase()) { + case "short" -> new Response(200, JsonFormat.encode(result, true, false)); + case "long" -> new Response(200, JsonFormat.encode(result, false, false)); + case "short-value" -> new Response(200, JsonFormat.encode(result, true, true)); + case "long-value" -> new Response(200, JsonFormat.encode(result, false, true)); + case "string" -> new Response(200, result.toString(true, true).getBytes(StandardCharsets.UTF_8)); + case "string-long " -> new Response(200, result.toString(true, false ).getBytes(StandardCharsets.UTF_8)); + default -> new ErrorResponse(400, "Unknown tensor format '" + property(request, "format.tensors") + "'"); + }; } private HttpResponse listAllModels(HttpRequest request) { |