Skip to content

Commit 9a16334

Browse files
committed
fix model id check
1 parent d9a09a1 commit 9a16334

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,12 @@ private void preferredVariantFromPlatformArchitecture(ActionListener<PreferredMo
239239
// However, in Elastic cloud ml nodes run on Linux x86
240240
delegate.onResponse(PreferredModelVariant.LINUX_X86_OPTIMIZED);
241241
} else {
242-
delegate.onResponse(PreferredModelVariant.PLATFORM_AGNOSTIC);
242+
boolean homogenous = architectures.size() == 1;
243+
if (homogenous && architectures.iterator().next().equals("linux-x86_64")) {
244+
delegate.onResponse(PreferredModelVariant.LINUX_X86_OPTIMIZED);
245+
} else {
246+
delegate.onResponse(PreferredModelVariant.PLATFORM_AGNOSTIC);
247+
}
243248
}
244249
}),
245250
client,

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

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -388,14 +388,6 @@ private void elserCase(
388388
);
389389
}
390390

391-
if (modelVariantDoesNotMatchArchitecturesAndIsNotPlatformAgnostic(preferredModelVariant, esServiceSettingsBuilder.getModelId())) {
392-
throw new IllegalArgumentException(
393-
"Error parsing request config, model id does not match any models available on this platform. Was ["
394-
+ esServiceSettingsBuilder.getModelId()
395-
+ "]"
396-
);
397-
}
398-
399391
throwIfNotEmptyMap(config, name());
400392
throwIfNotEmptyMap(serviceSettingsMap, name());
401393

@@ -411,19 +403,6 @@ private void elserCase(
411403
);
412404
}
413405

414-
private static boolean modelVariantDoesNotMatchArchitecturesAndIsNotPlatformAgnostic(
415-
PreferredModelVariant preferredModelVariant,
416-
String modelId
417-
) {
418-
return modelId.equals(
419-
selectDefaultModelVariantBasedOnClusterArchitecture(
420-
preferredModelVariant,
421-
MULTILINGUAL_E5_SMALL_MODEL_ID_LINUX_X86,
422-
MULTILINGUAL_E5_SMALL_MODEL_ID
423-
)
424-
);
425-
}
426-
427406
@Override
428407
public Model parsePersistedConfigWithSecrets(
429408
String inferenceEntityId,
@@ -799,7 +778,10 @@ private RankedDocsResults textSimilarityResultsToRankedDocs(
799778
}
800779

801780
public List<DefaultConfigId> defaultConfigIds() {
802-
return List.of(new DefaultConfigId(DEFAULT_ELSER_ID, TaskType.SPARSE_EMBEDDING, this));
781+
return List.of(
782+
new DefaultConfigId(DEFAULT_ELSER_ID, TaskType.SPARSE_EMBEDDING, this),
783+
new DefaultConfigId(DEFAULT_E5_ID, TaskType.TEXT_EMBEDDING, this)
784+
);
803785
}
804786

805787
/**
@@ -839,7 +821,19 @@ private List<Model> defaultConfigs(boolean useLinuxOptimizedModel) {
839821
ElserMlNodeTaskSettings.DEFAULT,
840822
null // default chunking settings
841823
);
842-
return List.of(defaultElser);
824+
var defaultE5 = new MultilingualE5SmallModel(
825+
DEFAULT_E5_ID,
826+
TaskType.TEXT_EMBEDDING,
827+
NAME,
828+
new MultilingualE5SmallInternalServiceSettings(
829+
null,
830+
1,
831+
useLinuxOptimizedModel ? MULTILINGUAL_E5_SMALL_MODEL_ID_LINUX_X86 : MULTILINGUAL_E5_SMALL_MODEL_ID,
832+
new AdaptiveAllocationsSettings(Boolean.TRUE, 1, 8)
833+
),
834+
null // default chunking settings
835+
);
836+
return List.of(defaultElser, defaultE5);
843837
}
844838

845839
@Override

0 commit comments

Comments
 (0)