diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-08-04 13:33:13 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-08-04 13:52:27 +0200 |
commit | 3ddce3c158941cb8eabdb391d207fe004095c434 (patch) | |
tree | db8121fe016fa7bb5a0ad345af9f1bd58fbbfb6d /container-search | |
parent | 0f46015e498ecb622473cd3e2403283c99f9f5d5 (diff) |
Add generic metrics for embedders
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/schema/internal/TensorConverter.java | 10 |
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) { |