Skip to content

Commit 4e33015

Browse files
authored
[ML] Explicitly set chunking settings in preconfigured endpoints (#117327)
1 parent 8c22fc4 commit 4e33015

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/DefaultEndPointsIT.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ public void tearDown() throws Exception {
5151
super.tearDown();
5252
}
5353

54+
public void testGet() throws IOException {
55+
var elserModel = getModel(ElasticsearchInternalService.DEFAULT_ELSER_ID);
56+
assertDefaultElserConfig(elserModel);
57+
58+
var e5Model = getModel(ElasticsearchInternalService.DEFAULT_E5_ID);
59+
assertDefaultE5Config(e5Model);
60+
}
61+
5462
@SuppressWarnings("unchecked")
5563
public void testInferDeploysDefaultElser() throws IOException {
5664
var model = getModel(ElasticsearchInternalService.DEFAULT_ELSER_ID);
@@ -79,6 +87,7 @@ private static void assertDefaultElserConfig(Map<String, Object> modelConfig) {
7987
adaptiveAllocations,
8088
Matchers.is(Map.of("enabled", true, "min_number_of_allocations", 0, "max_number_of_allocations", 32))
8189
);
90+
assertDefaultChunkingSettings(modelConfig);
8291
}
8392

8493
@SuppressWarnings("unchecked")
@@ -113,6 +122,17 @@ private static void assertDefaultE5Config(Map<String, Object> modelConfig) {
113122
adaptiveAllocations,
114123
Matchers.is(Map.of("enabled", true, "min_number_of_allocations", 0, "max_number_of_allocations", 32))
115124
);
125+
assertDefaultChunkingSettings(modelConfig);
126+
}
127+
128+
@SuppressWarnings("unchecked")
129+
private static void assertDefaultChunkingSettings(Map<String, Object> modelConfig) {
130+
var chunkingSettings = (Map<String, Object>) modelConfig.get("chunking_settings");
131+
assertThat(
132+
modelConfig.toString(),
133+
chunkingSettings,
134+
Matchers.is(Map.of("strategy", "sentence", "max_chunk_size", 250, "sentence_overlap", 1))
135+
);
116136
}
117137

118138
public void testMultipleInferencesTriggeringDownloadAndDeploy() throws InterruptedException {

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElasticsearchInternalService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -862,6 +862,7 @@ public void updateModelsWithDynamicFields(List<Model> models, ActionListener<Lis
862862
);
863863
}
864864

865+
@Override
865866
public void defaultConfigs(ActionListener<List<Model>> defaultsListener) {
866867
preferredModelVariantFn.accept(defaultsListener.delegateFailureAndWrap((delegate, preferredModelVariant) -> {
867868
if (PreferredModelVariant.LINUX_X86_OPTIMIZED.equals(preferredModelVariant)) {
@@ -892,7 +893,7 @@ private List<Model> defaultConfigs(boolean useLinuxOptimizedModel) {
892893
new AdaptiveAllocationsSettings(Boolean.TRUE, 0, 32)
893894
),
894895
ElserMlNodeTaskSettings.DEFAULT,
895-
null // default chunking settings
896+
ChunkingSettingsBuilder.DEFAULT_SETTINGS
896897
);
897898
var defaultE5 = new MultilingualE5SmallModel(
898899
DEFAULT_E5_ID,
@@ -904,7 +905,7 @@ private List<Model> defaultConfigs(boolean useLinuxOptimizedModel) {
904905
useLinuxOptimizedModel ? MULTILINGUAL_E5_SMALL_MODEL_ID_LINUX_X86 : MULTILINGUAL_E5_SMALL_MODEL_ID,
905906
new AdaptiveAllocationsSettings(Boolean.TRUE, 0, 32)
906907
),
907-
null // default chunking settings
908+
ChunkingSettingsBuilder.DEFAULT_SETTINGS
908909
);
909910
return List.of(defaultElser, defaultE5);
910911
}

0 commit comments

Comments
 (0)