diff --git a/langchain4j-embeddings-all-minilm-l6-v2-q/src/main/java/dev/langchain4j/model/embedding/AllMiniLmL6V2QuantizedEmbeddingModel.java b/langchain4j-embeddings-all-minilm-l6-v2-q/src/main/java/dev/langchain4j/model/embedding/AllMiniLmL6V2QuantizedEmbeddingModel.java index ef41984a..e8f9f1f7 100644 --- a/langchain4j-embeddings-all-minilm-l6-v2-q/src/main/java/dev/langchain4j/model/embedding/AllMiniLmL6V2QuantizedEmbeddingModel.java +++ b/langchain4j-embeddings-all-minilm-l6-v2-q/src/main/java/dev/langchain4j/model/embedding/AllMiniLmL6V2QuantizedEmbeddingModel.java @@ -25,4 +25,9 @@ public class AllMiniLmL6V2QuantizedEmbeddingModel extends AbstractInProcessEmbed protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 384; + } } \ No newline at end of file diff --git a/langchain4j-embeddings-all-minilm-l6-v2-q/src/test/java/dev/langchain4j/model/embedding/AllMiniLmL6V2QuantizedEmbeddingModelIT.java b/langchain4j-embeddings-all-minilm-l6-v2-q/src/test/java/dev/langchain4j/model/embedding/AllMiniLmL6V2QuantizedEmbeddingModelIT.java index 631ed5b5..0cbac76b 100644 --- a/langchain4j-embeddings-all-minilm-l6-v2-q/src/test/java/dev/langchain4j/model/embedding/AllMiniLmL6V2QuantizedEmbeddingModelIT.java +++ b/langchain4j-embeddings-all-minilm-l6-v2-q/src/test/java/dev/langchain4j/model/embedding/AllMiniLmL6V2QuantizedEmbeddingModelIT.java @@ -115,4 +115,12 @@ void should_embed_concurrently() throws Exception { assertThat(embedding).isEqualTo(referenceEmbedding); } } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new AllMiniLmL6V2QuantizedEmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(384); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-all-minilm-l6-v2/src/main/java/dev/langchain4j/model/embedding/AllMiniLmL6V2EmbeddingModel.java b/langchain4j-embeddings-all-minilm-l6-v2/src/main/java/dev/langchain4j/model/embedding/AllMiniLmL6V2EmbeddingModel.java index 272dc671..27e74c26 100644 --- a/langchain4j-embeddings-all-minilm-l6-v2/src/main/java/dev/langchain4j/model/embedding/AllMiniLmL6V2EmbeddingModel.java +++ b/langchain4j-embeddings-all-minilm-l6-v2/src/main/java/dev/langchain4j/model/embedding/AllMiniLmL6V2EmbeddingModel.java @@ -25,4 +25,9 @@ public class AllMiniLmL6V2EmbeddingModel extends AbstractInProcessEmbeddingModel protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 384; + } } diff --git a/langchain4j-embeddings-all-minilm-l6-v2/src/test/java/dev/langchain4j/model/embedding/AllMiniLmL6V2EmbeddingModelIT.java b/langchain4j-embeddings-all-minilm-l6-v2/src/test/java/dev/langchain4j/model/embedding/AllMiniLmL6V2EmbeddingModelIT.java index 342d4de5..091e9bba 100644 --- a/langchain4j-embeddings-all-minilm-l6-v2/src/test/java/dev/langchain4j/model/embedding/AllMiniLmL6V2EmbeddingModelIT.java +++ b/langchain4j-embeddings-all-minilm-l6-v2/src/test/java/dev/langchain4j/model/embedding/AllMiniLmL6V2EmbeddingModelIT.java @@ -96,4 +96,12 @@ void should_return_token_usage() { assertThat(model.embed("hi, how are you doing?").tokenUsage().inputTokenCount()).isEqualTo(7); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new AllMiniLmL6V2EmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(384); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-bge-small-en-q/src/main/java/dev/langchain4j/model/embedding/BgeSmallEnQuantizedEmbeddingModel.java b/langchain4j-embeddings-bge-small-en-q/src/main/java/dev/langchain4j/model/embedding/BgeSmallEnQuantizedEmbeddingModel.java index f258c5bd..f7df3758 100644 --- a/langchain4j-embeddings-bge-small-en-q/src/main/java/dev/langchain4j/model/embedding/BgeSmallEnQuantizedEmbeddingModel.java +++ b/langchain4j-embeddings-bge-small-en-q/src/main/java/dev/langchain4j/model/embedding/BgeSmallEnQuantizedEmbeddingModel.java @@ -25,4 +25,9 @@ public class BgeSmallEnQuantizedEmbeddingModel extends AbstractInProcessEmbeddin protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 384; + } } diff --git a/langchain4j-embeddings-bge-small-en-q/src/test/java/dev/langchain4j/model/embedding/BgeSmallEnQuantizedEmbeddingModelIT.java b/langchain4j-embeddings-bge-small-en-q/src/test/java/dev/langchain4j/model/embedding/BgeSmallEnQuantizedEmbeddingModelIT.java index fa9b917a..453be662 100644 --- a/langchain4j-embeddings-bge-small-en-q/src/test/java/dev/langchain4j/model/embedding/BgeSmallEnQuantizedEmbeddingModelIT.java +++ b/langchain4j-embeddings-bge-small-en-q/src/test/java/dev/langchain4j/model/embedding/BgeSmallEnQuantizedEmbeddingModelIT.java @@ -68,4 +68,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new BgeSmallEnQuantizedEmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(384); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-bge-small-en-v15-q/src/main/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15QuantizedEmbeddingModel.java b/langchain4j-embeddings-bge-small-en-v15-q/src/main/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15QuantizedEmbeddingModel.java index a9d434be..8c6c3a6f 100644 --- a/langchain4j-embeddings-bge-small-en-v15-q/src/main/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15QuantizedEmbeddingModel.java +++ b/langchain4j-embeddings-bge-small-en-v15-q/src/main/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15QuantizedEmbeddingModel.java @@ -29,4 +29,9 @@ public class BgeSmallEnV15QuantizedEmbeddingModel extends AbstractInProcessEmbed protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 384; + } } diff --git a/langchain4j-embeddings-bge-small-en-v15-q/src/test/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15QuantizedEmbeddingModelTest.java b/langchain4j-embeddings-bge-small-en-v15-q/src/test/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15QuantizedEmbeddingModelTest.java index 2b330b9c..de9ad26c 100644 --- a/langchain4j-embeddings-bge-small-en-v15-q/src/test/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15QuantizedEmbeddingModelTest.java +++ b/langchain4j-embeddings-bge-small-en-v15-q/src/test/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15QuantizedEmbeddingModelTest.java @@ -69,4 +69,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new BgeSmallEnV15QuantizedEmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(384); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-bge-small-en-v15/src/main/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15EmbeddingModel.java b/langchain4j-embeddings-bge-small-en-v15/src/main/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15EmbeddingModel.java index 433eb9f8..fd8fbd1c 100644 --- a/langchain4j-embeddings-bge-small-en-v15/src/main/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15EmbeddingModel.java +++ b/langchain4j-embeddings-bge-small-en-v15/src/main/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15EmbeddingModel.java @@ -29,4 +29,9 @@ public class BgeSmallEnV15EmbeddingModel extends AbstractInProcessEmbeddingModel protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 384; + } } diff --git a/langchain4j-embeddings-bge-small-en-v15/src/test/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15EmbeddingModelTest.java b/langchain4j-embeddings-bge-small-en-v15/src/test/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15EmbeddingModelTest.java index 12dd8794..985426ff 100644 --- a/langchain4j-embeddings-bge-small-en-v15/src/test/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15EmbeddingModelTest.java +++ b/langchain4j-embeddings-bge-small-en-v15/src/test/java/dev/langchain4j/model/embedding/bge/small/en/v15/BgeSmallEnV15EmbeddingModelTest.java @@ -82,4 +82,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new BgeSmallEnV15EmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(384); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-bge-small-en/src/main/java/dev/langchain4j/model/embedding/BgeSmallEnEmbeddingModel.java b/langchain4j-embeddings-bge-small-en/src/main/java/dev/langchain4j/model/embedding/BgeSmallEnEmbeddingModel.java index 08f8158e..5a2de0ab 100644 --- a/langchain4j-embeddings-bge-small-en/src/main/java/dev/langchain4j/model/embedding/BgeSmallEnEmbeddingModel.java +++ b/langchain4j-embeddings-bge-small-en/src/main/java/dev/langchain4j/model/embedding/BgeSmallEnEmbeddingModel.java @@ -25,4 +25,9 @@ public class BgeSmallEnEmbeddingModel extends AbstractInProcessEmbeddingModel { protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 384; + } } diff --git a/langchain4j-embeddings-bge-small-en/src/test/java/dev/langchain4j/model/embedding/BgeSmallEnEmbeddingModelIT.java b/langchain4j-embeddings-bge-small-en/src/test/java/dev/langchain4j/model/embedding/BgeSmallEnEmbeddingModelIT.java index fb642802..8b489b91 100644 --- a/langchain4j-embeddings-bge-small-en/src/test/java/dev/langchain4j/model/embedding/BgeSmallEnEmbeddingModelIT.java +++ b/langchain4j-embeddings-bge-small-en/src/test/java/dev/langchain4j/model/embedding/BgeSmallEnEmbeddingModelIT.java @@ -81,4 +81,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new BgeSmallEnEmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(384); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-bge-small-zh-q/src/main/java/dev/langchain4j/model/embedding/BgeSmallZhQuantizedEmbeddingModel.java b/langchain4j-embeddings-bge-small-zh-q/src/main/java/dev/langchain4j/model/embedding/BgeSmallZhQuantizedEmbeddingModel.java index e56cec7f..c839ba27 100644 --- a/langchain4j-embeddings-bge-small-zh-q/src/main/java/dev/langchain4j/model/embedding/BgeSmallZhQuantizedEmbeddingModel.java +++ b/langchain4j-embeddings-bge-small-zh-q/src/main/java/dev/langchain4j/model/embedding/BgeSmallZhQuantizedEmbeddingModel.java @@ -25,4 +25,9 @@ public class BgeSmallZhQuantizedEmbeddingModel extends AbstractInProcessEmbeddin protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 512; + } } diff --git a/langchain4j-embeddings-bge-small-zh-q/src/test/java/dev/langchain4j/model/embedding/BgeSmallZhQuantizedEmbeddingModelIT.java b/langchain4j-embeddings-bge-small-zh-q/src/test/java/dev/langchain4j/model/embedding/BgeSmallZhQuantizedEmbeddingModelIT.java index a5f1ed3a..3365dc5d 100644 --- a/langchain4j-embeddings-bge-small-zh-q/src/test/java/dev/langchain4j/model/embedding/BgeSmallZhQuantizedEmbeddingModelIT.java +++ b/langchain4j-embeddings-bge-small-zh-q/src/test/java/dev/langchain4j/model/embedding/BgeSmallZhQuantizedEmbeddingModelIT.java @@ -68,4 +68,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new BgeSmallZhQuantizedEmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(512); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-bge-small-zh-v15-q/src/main/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15QuantizedEmbeddingModel.java b/langchain4j-embeddings-bge-small-zh-v15-q/src/main/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15QuantizedEmbeddingModel.java index 33a0ce89..a80aa325 100644 --- a/langchain4j-embeddings-bge-small-zh-v15-q/src/main/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15QuantizedEmbeddingModel.java +++ b/langchain4j-embeddings-bge-small-zh-v15-q/src/main/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15QuantizedEmbeddingModel.java @@ -29,4 +29,9 @@ public class BgeSmallZhV15QuantizedEmbeddingModel extends AbstractInProcessEmbed protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 512; + } } diff --git a/langchain4j-embeddings-bge-small-zh-v15/src/main/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15EmbeddingModel.java b/langchain4j-embeddings-bge-small-zh-v15/src/main/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15EmbeddingModel.java index 864df748..e50487ed 100644 --- a/langchain4j-embeddings-bge-small-zh-v15/src/main/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15EmbeddingModel.java +++ b/langchain4j-embeddings-bge-small-zh-v15/src/main/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15EmbeddingModel.java @@ -29,4 +29,9 @@ public class BgeSmallZhV15EmbeddingModel extends AbstractInProcessEmbeddingModel protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 512; + } } diff --git a/langchain4j-embeddings-bge-small-zh-v15/src/test/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15EmbeddingModelIT.java b/langchain4j-embeddings-bge-small-zh-v15/src/test/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15EmbeddingModelIT.java index 284aebce..4cc36b62 100644 --- a/langchain4j-embeddings-bge-small-zh-v15/src/test/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15EmbeddingModelIT.java +++ b/langchain4j-embeddings-bge-small-zh-v15/src/test/java/dev/langchain4j/model/embedding/bge/small/zh/v15/BgeSmallZhV15EmbeddingModelIT.java @@ -82,4 +82,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new BgeSmallZhV15EmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(512); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-bge-small-zh/src/main/java/dev/langchain4j/model/embedding/BgeSmallZhEmbeddingModel.java b/langchain4j-embeddings-bge-small-zh/src/main/java/dev/langchain4j/model/embedding/BgeSmallZhEmbeddingModel.java index 31ea7391..05f7fcff 100644 --- a/langchain4j-embeddings-bge-small-zh/src/main/java/dev/langchain4j/model/embedding/BgeSmallZhEmbeddingModel.java +++ b/langchain4j-embeddings-bge-small-zh/src/main/java/dev/langchain4j/model/embedding/BgeSmallZhEmbeddingModel.java @@ -25,4 +25,9 @@ public class BgeSmallZhEmbeddingModel extends AbstractInProcessEmbeddingModel { protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 512; + } } diff --git a/langchain4j-embeddings-bge-small-zh/src/test/java/dev/langchain4j/model/embedding/BgeSmallZhEmbeddingModelIT.java b/langchain4j-embeddings-bge-small-zh/src/test/java/dev/langchain4j/model/embedding/BgeSmallZhEmbeddingModelIT.java index 26f9e74d..f8be5e51 100644 --- a/langchain4j-embeddings-bge-small-zh/src/test/java/dev/langchain4j/model/embedding/BgeSmallZhEmbeddingModelIT.java +++ b/langchain4j-embeddings-bge-small-zh/src/test/java/dev/langchain4j/model/embedding/BgeSmallZhEmbeddingModelIT.java @@ -81,4 +81,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new BgeSmallZhEmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(512); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-e5-small-v2-q/src/main/java/dev/langchain4j/model/embedding/E5SmallV2QuantizedEmbeddingModel.java b/langchain4j-embeddings-e5-small-v2-q/src/main/java/dev/langchain4j/model/embedding/E5SmallV2QuantizedEmbeddingModel.java index 60e30d98..56b7ccd6 100644 --- a/langchain4j-embeddings-e5-small-v2-q/src/main/java/dev/langchain4j/model/embedding/E5SmallV2QuantizedEmbeddingModel.java +++ b/langchain4j-embeddings-e5-small-v2-q/src/main/java/dev/langchain4j/model/embedding/E5SmallV2QuantizedEmbeddingModel.java @@ -25,4 +25,9 @@ public class E5SmallV2QuantizedEmbeddingModel extends AbstractInProcessEmbedding protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 384; + } } diff --git a/langchain4j-embeddings-e5-small-v2-q/src/test/java/dev/langchain4j/model/embedding/E5SmallV2QuantizedEmbeddingModelIT.java b/langchain4j-embeddings-e5-small-v2-q/src/test/java/dev/langchain4j/model/embedding/E5SmallV2QuantizedEmbeddingModelIT.java index 92a6291a..365e443c 100644 --- a/langchain4j-embeddings-e5-small-v2-q/src/test/java/dev/langchain4j/model/embedding/E5SmallV2QuantizedEmbeddingModelIT.java +++ b/langchain4j-embeddings-e5-small-v2-q/src/test/java/dev/langchain4j/model/embedding/E5SmallV2QuantizedEmbeddingModelIT.java @@ -81,4 +81,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new E5SmallV2QuantizedEmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(384); + } } \ No newline at end of file diff --git a/langchain4j-embeddings-e5-small-v2/src/main/java/dev/langchain4j/model/embedding/E5SmallV2EmbeddingModel.java b/langchain4j-embeddings-e5-small-v2/src/main/java/dev/langchain4j/model/embedding/E5SmallV2EmbeddingModel.java index c421ed86..c04bd704 100644 --- a/langchain4j-embeddings-e5-small-v2/src/main/java/dev/langchain4j/model/embedding/E5SmallV2EmbeddingModel.java +++ b/langchain4j-embeddings-e5-small-v2/src/main/java/dev/langchain4j/model/embedding/E5SmallV2EmbeddingModel.java @@ -25,4 +25,9 @@ public class E5SmallV2EmbeddingModel extends AbstractInProcessEmbeddingModel { protected OnnxBertBiEncoder model() { return MODEL; } + + @Override + protected Integer knownDimension() { + return 384; + } } diff --git a/langchain4j-embeddings-e5-small-v2/src/test/java/dev/langchain4j/model/embedding/E5SmallV2EmbeddingModelIT.java b/langchain4j-embeddings-e5-small-v2/src/test/java/dev/langchain4j/model/embedding/E5SmallV2EmbeddingModelIT.java index d4fa9fb3..5dc0e259 100644 --- a/langchain4j-embeddings-e5-small-v2/src/test/java/dev/langchain4j/model/embedding/E5SmallV2EmbeddingModelIT.java +++ b/langchain4j-embeddings-e5-small-v2/src/test/java/dev/langchain4j/model/embedding/E5SmallV2EmbeddingModelIT.java @@ -81,4 +81,12 @@ void should_produce_normalized_vectors() { assertThat(magnitudeOf(model.embed(repeat(oneToken, 999)).content())) .isCloseTo(1, withPercentage(0.01)); } + + @Test + void should_return_correct_dimension() { + + EmbeddingModel model = new E5SmallV2EmbeddingModel(); + + assertThat(model.dimension()).isEqualTo(384); + } } \ No newline at end of file diff --git a/langchain4j-embeddings/src/main/java/dev/langchain4j/model/embedding/AbstractInProcessEmbeddingModel.java b/langchain4j-embeddings/src/main/java/dev/langchain4j/model/embedding/AbstractInProcessEmbeddingModel.java index 368e6f34..bbeb259c 100644 --- a/langchain4j-embeddings/src/main/java/dev/langchain4j/model/embedding/AbstractInProcessEmbeddingModel.java +++ b/langchain4j-embeddings/src/main/java/dev/langchain4j/model/embedding/AbstractInProcessEmbeddingModel.java @@ -14,7 +14,7 @@ import static java.nio.file.Files.newInputStream; -public abstract class AbstractInProcessEmbeddingModel implements EmbeddingModel, TokenCountEstimator { +public abstract class AbstractInProcessEmbeddingModel extends DimensionAwareEmbeddingModel implements TokenCountEstimator { protected static OnnxBertBiEncoder loadFromJar(String modelFileName, String tokenizerFileName, PoolingMode poolingMode) { InputStream model = Thread.currentThread().getContextClassLoader().getResourceAsStream(modelFileName);