[EIS] Rename the elser 2 default model and the default inference endpoint (#130336)

This commit is contained in:
Tim Grein 2025-07-03 15:38:11 +02:00 committed by GitHub
parent 72f2121b13
commit c1b43d8585
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 23 additions and 37 deletions

View File

@ -0,0 +1,5 @@
pr: 130336
summary: "[EIS] Rename the elser 2 default model and the default inference endpoint"
area: Machine Learning
type: bug
issues: []

View File

@ -41,7 +41,7 @@ public class InferenceGetModelsWithElasticInferenceServiceIT extends BaseMockEIS
} }
assertInferenceIdTaskType(allModels, ".rainbow-sprinkles-elastic", TaskType.CHAT_COMPLETION); assertInferenceIdTaskType(allModels, ".rainbow-sprinkles-elastic", TaskType.CHAT_COMPLETION);
assertInferenceIdTaskType(allModels, ".elser-v2-elastic", TaskType.SPARSE_EMBEDDING); assertInferenceIdTaskType(allModels, ".elser-2-elastic", TaskType.SPARSE_EMBEDDING);
assertInferenceIdTaskType(allModels, ".multilingual-embed-v1-elastic", TaskType.TEXT_EMBEDDING); assertInferenceIdTaskType(allModels, ".multilingual-embed-v1-elastic", TaskType.TEXT_EMBEDDING);
assertInferenceIdTaskType(allModels, ".rerank-v1-elastic", TaskType.RERANK); assertInferenceIdTaskType(allModels, ".rerank-v1-elastic", TaskType.RERANK);
} }

View File

@ -39,7 +39,7 @@ public class MockElasticInferenceServiceAuthorizationServer implements TestRule
"task_types": ["chat"] "task_types": ["chat"]
}, },
{ {
"model_name": "elser-v2", "model_name": "elser_model_2",
"task_types": ["embed/text/sparse"] "task_types": ["embed/text/sparse"]
}, },
{ {

View File

@ -193,7 +193,7 @@ public class InferenceRevokeDefaultEndpointsIT extends ESSingleNodeTestCase {
{ {
"models": [ "models": [
{ {
"model_name": "elser-v2", "model_name": "elser_model_2",
"task_types": ["embed/text/sparse"] "task_types": ["embed/text/sparse"]
}, },
{ {
@ -222,7 +222,7 @@ public class InferenceRevokeDefaultEndpointsIT extends ESSingleNodeTestCase {
service.defaultConfigIds(), service.defaultConfigIds(),
containsInAnyOrder( containsInAnyOrder(
new InferenceService.DefaultConfigId( new InferenceService.DefaultConfigId(
".elser-v2-elastic", ".elser-2-elastic",
MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME), MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME),
service service
), ),
@ -255,7 +255,7 @@ public class InferenceRevokeDefaultEndpointsIT extends ESSingleNodeTestCase {
PlainActionFuture<List<Model>> listener = new PlainActionFuture<>(); PlainActionFuture<List<Model>> listener = new PlainActionFuture<>();
service.defaultConfigs(listener); service.defaultConfigs(listener);
assertThat(listener.actionGet(TIMEOUT).get(0).getConfigurations().getInferenceEntityId(), is(".elser-v2-elastic")); assertThat(listener.actionGet(TIMEOUT).get(0).getConfigurations().getInferenceEntityId(), is(".elser-2-elastic"));
assertThat( assertThat(
listener.actionGet(TIMEOUT).get(1).getConfigurations().getInferenceEntityId(), listener.actionGet(TIMEOUT).get(1).getConfigurations().getInferenceEntityId(),
is(".multilingual-embed-v1-elastic") is(".multilingual-embed-v1-elastic")
@ -277,7 +277,7 @@ public class InferenceRevokeDefaultEndpointsIT extends ESSingleNodeTestCase {
{ {
"models": [ "models": [
{ {
"model_name": "elser-v2", "model_name": "elser_model_2",
"task_types": ["embed/text/sparse"] "task_types": ["embed/text/sparse"]
}, },
{ {
@ -302,7 +302,7 @@ public class InferenceRevokeDefaultEndpointsIT extends ESSingleNodeTestCase {
service.defaultConfigIds(), service.defaultConfigIds(),
containsInAnyOrder( containsInAnyOrder(
new InferenceService.DefaultConfigId( new InferenceService.DefaultConfigId(
".elser-v2-elastic", ".elser-2-elastic",
MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME), MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME),
service service
), ),

View File

@ -106,9 +106,9 @@ public class ElasticInferenceService extends SenderService {
static final String DEFAULT_CHAT_COMPLETION_MODEL_ID_V1 = "rainbow-sprinkles"; static final String DEFAULT_CHAT_COMPLETION_MODEL_ID_V1 = "rainbow-sprinkles";
static final String DEFAULT_CHAT_COMPLETION_ENDPOINT_ID_V1 = defaultEndpointId(DEFAULT_CHAT_COMPLETION_MODEL_ID_V1); static final String DEFAULT_CHAT_COMPLETION_ENDPOINT_ID_V1 = defaultEndpointId(DEFAULT_CHAT_COMPLETION_MODEL_ID_V1);
// elser-v2 // elser-2
static final String DEFAULT_ELSER_MODEL_ID_V2 = "elser-v2"; static final String DEFAULT_ELSER_2_MODEL_ID = "elser_model_2";
static final String DEFAULT_ELSER_ENDPOINT_ID_V2 = defaultEndpointId(DEFAULT_ELSER_MODEL_ID_V2); static final String DEFAULT_ELSER_ENDPOINT_ID_V2 = defaultEndpointId("elser-2");
// multilingual-text-embed // multilingual-text-embed
static final String DEFAULT_MULTILINGUAL_EMBED_MODEL_ID = "multilingual-embed-v1"; static final String DEFAULT_MULTILINGUAL_EMBED_MODEL_ID = "multilingual-embed-v1";
@ -174,13 +174,13 @@ public class ElasticInferenceService extends SenderService {
), ),
MinimalServiceSettings.chatCompletion(NAME) MinimalServiceSettings.chatCompletion(NAME)
), ),
DEFAULT_ELSER_MODEL_ID_V2, DEFAULT_ELSER_2_MODEL_ID,
new DefaultModelConfig( new DefaultModelConfig(
new ElasticInferenceServiceSparseEmbeddingsModel( new ElasticInferenceServiceSparseEmbeddingsModel(
DEFAULT_ELSER_ENDPOINT_ID_V2, DEFAULT_ELSER_ENDPOINT_ID_V2,
TaskType.SPARSE_EMBEDDING, TaskType.SPARSE_EMBEDDING,
NAME, NAME,
new ElasticInferenceServiceSparseEmbeddingsServiceSettings(DEFAULT_ELSER_MODEL_ID_V2, null, null), new ElasticInferenceServiceSparseEmbeddingsServiceSettings(DEFAULT_ELSER_2_MODEL_ID, null, null),
EmptyTaskSettings.INSTANCE, EmptyTaskSettings.INSTANCE,
EmptySecretSettings.INSTANCE, EmptySecretSettings.INSTANCE,
elasticInferenceServiceComponents, elasticInferenceServiceComponents,
@ -213,7 +213,6 @@ public class ElasticInferenceService extends SenderService {
DenseVectorFieldMapper.ElementType.FLOAT DenseVectorFieldMapper.ElementType.FLOAT
) )
), ),
DEFAULT_RERANK_MODEL_ID_V1, DEFAULT_RERANK_MODEL_ID_V1,
new DefaultModelConfig( new DefaultModelConfig(
new ElasticInferenceServiceRerankModel( new ElasticInferenceServiceRerankModel(

View File

@ -26,8 +26,4 @@ public class ElserModels {
return model != null && VALID_ELSER_MODEL_IDS.contains(model); return model != null && VALID_ELSER_MODEL_IDS.contains(model);
} }
public static boolean isValidEisModel(String model) {
return ELSER_V2_MODEL.equals(model);
}
} }

View File

@ -1243,7 +1243,7 @@ public class ElasticInferenceServiceTests extends ESSingleNodeTestCase {
"task_types": ["chat"] "task_types": ["chat"]
}, },
{ {
"model_name": "elser-v2", "model_name": "elser_model_2",
"task_types": ["embed/text/sparse"] "task_types": ["embed/text/sparse"]
}, },
{ {
@ -1270,7 +1270,7 @@ public class ElasticInferenceServiceTests extends ESSingleNodeTestCase {
is( is(
List.of( List.of(
new InferenceService.DefaultConfigId( new InferenceService.DefaultConfigId(
".elser-v2-elastic", ".elser-2-elastic",
MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME), MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME),
service service
), ),
@ -1306,7 +1306,7 @@ public class ElasticInferenceServiceTests extends ESSingleNodeTestCase {
service.defaultConfigs(listener); service.defaultConfigs(listener);
var models = listener.actionGet(TIMEOUT); var models = listener.actionGet(TIMEOUT);
assertThat(models.size(), is(4)); assertThat(models.size(), is(4));
assertThat(models.get(0).getConfigurations().getInferenceEntityId(), is(".elser-v2-elastic")); assertThat(models.get(0).getConfigurations().getInferenceEntityId(), is(".elser-2-elastic"));
assertThat(models.get(1).getConfigurations().getInferenceEntityId(), is(".multilingual-embed-v1-elastic")); assertThat(models.get(1).getConfigurations().getInferenceEntityId(), is(".multilingual-embed-v1-elastic"));
assertThat(models.get(2).getConfigurations().getInferenceEntityId(), is(".rainbow-sprinkles-elastic")); assertThat(models.get(2).getConfigurations().getInferenceEntityId(), is(".rainbow-sprinkles-elastic"));
assertThat(models.get(3).getConfigurations().getInferenceEntityId(), is(".rerank-v1-elastic")); assertThat(models.get(3).getConfigurations().getInferenceEntityId(), is(".rerank-v1-elastic"));

View File

@ -188,13 +188,13 @@ public class ElasticInferenceServiceAuthorizationHandlerTests extends ESSingleNo
), ),
MinimalServiceSettings.chatCompletion(ElasticInferenceService.NAME) MinimalServiceSettings.chatCompletion(ElasticInferenceService.NAME)
), ),
"elser-v2", "elser-2",
new DefaultModelConfig( new DefaultModelConfig(
new ElasticInferenceServiceSparseEmbeddingsModel( new ElasticInferenceServiceSparseEmbeddingsModel(
defaultEndpointId("elser-v2"), defaultEndpointId("elser-2"),
TaskType.SPARSE_EMBEDDING, TaskType.SPARSE_EMBEDDING,
"test", "test",
new ElasticInferenceServiceSparseEmbeddingsServiceSettings("elser-v2", null, null), new ElasticInferenceServiceSparseEmbeddingsServiceSettings("elser-2", null, null),
EmptyTaskSettings.INSTANCE, EmptyTaskSettings.INSTANCE,
EmptySecretSettings.INSTANCE, EmptySecretSettings.INSTANCE,
ElasticInferenceServiceComponents.EMPTY_INSTANCE, ElasticInferenceServiceComponents.EMPTY_INSTANCE,

View File

@ -19,21 +19,7 @@ public class ElserModelsTests extends ESTestCase {
assertTrue(org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels.isValidModel(randomElserModel())); assertTrue(org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels.isValidModel(randomElserModel()));
} }
public void testIsValidEisModel() {
assertTrue(
org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels.isValidEisModel(
org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels.ELSER_V2_MODEL
)
);
}
public void testIsInvalidModel() { public void testIsInvalidModel() {
assertFalse(org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels.isValidModel("invalid")); assertFalse(org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels.isValidModel("invalid"));
} }
public void testIsInvalidEisModel() {
assertFalse(
org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels.isValidEisModel(ElserModels.ELSER_V2_MODEL_LINUX_X86)
);
}
} }