summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-08-31 13:08:18 +0200
committerGitHub <noreply@github.com>2023-08-31 13:08:18 +0200
commit47ebd33df308d82e0327fe083cd8deaed9e6fb53 (patch)
tree3c3f5174afde0dd77d020ab42780344a546f407d /container-search
parentf46d67c5976e77e270002267996a559b1cb6d2c1 (diff)
parentae674d6d002ca0f99b401e1215d45d188ba81e12 (diff)
Merge pull request #27969 from vespa-engine/bjorncs/embedder-metrics
Add generic metrics for embedders
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/schema/internal/TensorConverter.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/schema/internal/TensorConverter.java b/container-search/src/main/java/com/yahoo/search/schema/internal/TensorConverter.java
index 2370513dba2..3d9d28ee199 100644
--- a/container-search/src/main/java/com/yahoo/search/schema/internal/TensorConverter.java
+++ b/container-search/src/main/java/com/yahoo/search/schema/internal/TensorConverter.java
@@ -52,11 +52,12 @@ public class TensorConverter {
throw new IllegalArgumentException("Expected any string enclosed in embed(), but the argument does not end by ')'");
String argument = s.substring("embed(".length(), s.length() - 1);
Embedder embedder;
+ String embedderId;
// Check if arguments specifies an embedder with the format embed(embedder, "text to encode")
Matcher matcher = embedderArgumentRegexp.matcher(argument);
if (matcher.matches()) {
- String embedderId = matcher.group(1);
+ embedderId = matcher.group(1);
argument = matcher.group(2);
if ( ! embedders.containsKey(embedderId)) {
throw new IllegalArgumentException("Can't find embedder '" + embedderId + "'. " +
@@ -69,10 +70,11 @@ public class TensorConverter {
throw new IllegalArgumentException("Multiple embedders are provided but no embedder id is given. " +
"Valid embedders are " + validEmbedders(embedders));
} else {
- embedder = embedders.entrySet().stream().findFirst().get().getValue();
+ var entry = embedders.entrySet().stream().findFirst().get();
+ embedderId = entry.getKey();
+ embedder = entry.getValue();
}
-
- return embedder.embed(removeQuotes(argument), embedderContext, type);
+ return embedder.embed(removeQuotes(argument), embedderContext.copy().setEmbedderId(embedderId), type);
}
private static String removeQuotes(String s) {