aboutsummaryrefslogtreecommitdiffstats
path: root/model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-01-14 18:41:49 +0100
committerJon Bratseth <bratseth@gmail.com>2023-01-14 18:41:49 +0100
commit416f596b150ec159717bfd2f9b2ef70e4d4cd3dd (patch)
treefd78cf0541670dd50e2dc3256c5b9755ced8f73e /model-evaluation/src/main/java/ai/vespa/models/handler/ModelsEvaluationHandler.java
parenta289581cbf94ff6997356110b54bd6993e956b9e (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.java18
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) {