From abe531800b85e4dbbc302aa703561e212f0432a4 Mon Sep 17 00:00:00 2001 From: Tim Grein Date: Mon, 30 Jun 2025 16:07:28 +0200 Subject: [PATCH 1/5] Rename the elser 2 default model and the default inference endpoint --- ...nceGetModelsWithElasticInferenceServiceIT.java | 2 +- ...lasticInferenceServiceAuthorizationServer.java | 2 +- .../InferenceRevokeDefaultEndpointsIT.java | 10 +++++----- .../services/elastic/ElasticInferenceService.java | 15 +++++++++------ .../services/elasticsearch/ElserModels.java | 4 ---- .../elastic/ElasticInferenceServiceTests.java | 6 +++--- ...InferenceServiceAuthorizationHandlerTests.java | 6 +++--- .../services/elasticsearch/ElserModelsTests.java | 14 -------------- 8 files changed, 22 insertions(+), 37 deletions(-) diff --git a/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/InferenceGetModelsWithElasticInferenceServiceIT.java b/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/InferenceGetModelsWithElasticInferenceServiceIT.java index e548fcc4f2eb1..e9ba9923fdcf8 100644 --- a/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/InferenceGetModelsWithElasticInferenceServiceIT.java +++ b/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/InferenceGetModelsWithElasticInferenceServiceIT.java @@ -41,7 +41,7 @@ public void testGetDefaultEndpoints() throws IOException { } 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, ".rerank-v1-elastic", TaskType.RERANK); } diff --git a/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java b/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java index 7f0212167f8ac..e92aaea853f99 100644 --- a/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java +++ b/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java @@ -39,7 +39,7 @@ public void enqueueAuthorizeAllModelsResponse() { "task_types": ["chat"] }, { - "model_name": "elser-v2", + "model_name": "elser-2", "task_types": ["embed/text/sparse"] }, { diff --git a/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java b/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java index 4c200c6f20247..9c8445528295d 100644 --- a/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java +++ b/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java @@ -193,7 +193,7 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA { "models": [ { - "model_name": "elser-v2", + "model_name": "elser-2", "task_types": ["embed/text/sparse"] }, { @@ -222,7 +222,7 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA service.defaultConfigIds(), containsInAnyOrder( new InferenceService.DefaultConfigId( - ".elser-v2-elastic", + ".elser-2-elastic", MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME), service ), @@ -255,7 +255,7 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA PlainActionFuture> listener = new PlainActionFuture<>(); 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( listener.actionGet(TIMEOUT).get(1).getConfigurations().getInferenceEntityId(), is(".multilingual-embed-v1-elastic") @@ -277,7 +277,7 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA { "models": [ { - "model_name": "elser-v2", + "model_name": "elser-2", "task_types": ["embed/text/sparse"] }, { @@ -302,7 +302,7 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA service.defaultConfigIds(), containsInAnyOrder( new InferenceService.DefaultConfigId( - ".elser-v2-elastic", + ".elser-2-elastic", MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME), service ), diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java index 640929b058760..de6589f199028 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java @@ -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_ENDPOINT_ID_V1 = defaultEndpointId(DEFAULT_CHAT_COMPLETION_MODEL_ID_V1); - // elser-v2 - static final String DEFAULT_ELSER_MODEL_ID_V2 = "elser-v2"; - static final String DEFAULT_ELSER_ENDPOINT_ID_V2 = defaultEndpointId(DEFAULT_ELSER_MODEL_ID_V2); + // elser-2 + static final String DEFAULT_ELSER_2_MODEL_ID = "elser_model_2"; + static final String DEFAULT_ELSER_ENDPOINT_ID_V2 = defaultEndpointId("elser-2"); // multilingual-text-embed static final String DEFAULT_MULTILINGUAL_EMBED_MODEL_ID = "multilingual-embed-v1"; @@ -174,13 +174,17 @@ private static Map initDefaultEndpoints( ), MinimalServiceSettings.chatCompletion(NAME) ), - DEFAULT_ELSER_MODEL_ID_V2, + DEFAULT_ELSER_2_MODEL_ID, new DefaultModelConfig( new ElasticInferenceServiceSparseEmbeddingsModel( DEFAULT_ELSER_ENDPOINT_ID_V2, TaskType.SPARSE_EMBEDDING, NAME, - new ElasticInferenceServiceSparseEmbeddingsServiceSettings(DEFAULT_ELSER_MODEL_ID_V2, null, null), + new ElasticInferenceServiceSparseEmbeddingsServiceSettings( + DEFAULT_ELSER_2_MODEL_ID, + null, + null + ), EmptyTaskSettings.INSTANCE, EmptySecretSettings.INSTANCE, elasticInferenceServiceComponents, @@ -213,7 +217,6 @@ private static Map initDefaultEndpoints( DenseVectorFieldMapper.ElementType.FLOAT ) ), - DEFAULT_RERANK_MODEL_ID_V1, new DefaultModelConfig( new ElasticInferenceServiceRerankModel( diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElserModels.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElserModels.java index c1764b93bfc82..e5af1da030ef1 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElserModels.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElserModels.java @@ -26,8 +26,4 @@ public static boolean isValidModel(String model) { return model != null && VALID_ELSER_MODEL_IDS.contains(model); } - public static boolean isValidEisModel(String model) { - return ELSER_V2_MODEL.equals(model); - } - } diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceServiceTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceServiceTests.java index 236a6be3d742d..6ce484954d3ce 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceServiceTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceServiceTests.java @@ -1243,7 +1243,7 @@ public void testDefaultConfigs_Returns_DefaultEndpoints_WhenTaskTypeIsCorrect() "task_types": ["chat"] }, { - "model_name": "elser-v2", + "model_name": "elser_model_2", "task_types": ["embed/text/sparse"] }, { @@ -1270,7 +1270,7 @@ public void testDefaultConfigs_Returns_DefaultEndpoints_WhenTaskTypeIsCorrect() is( List.of( new InferenceService.DefaultConfigId( - ".elser-v2-elastic", + ".elser-2-elastic", MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME), service ), @@ -1306,7 +1306,7 @@ public void testDefaultConfigs_Returns_DefaultEndpoints_WhenTaskTypeIsCorrect() service.defaultConfigs(listener); var models = listener.actionGet(TIMEOUT); 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(2).getConfigurations().getInferenceEntityId(), is(".rainbow-sprinkles-elastic")); assertThat(models.get(3).getConfigurations().getInferenceEntityId(), is(".rerank-v1-elastic")); diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/authorization/ElasticInferenceServiceAuthorizationHandlerTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/authorization/ElasticInferenceServiceAuthorizationHandlerTests.java index d8c8c9e5b7abf..6bd7a345d7271 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/authorization/ElasticInferenceServiceAuthorizationHandlerTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/authorization/ElasticInferenceServiceAuthorizationHandlerTests.java @@ -188,13 +188,13 @@ private static Map initDefaultEndpoints() { ), MinimalServiceSettings.chatCompletion(ElasticInferenceService.NAME) ), - "elser-v2", + "elser-2", new DefaultModelConfig( new ElasticInferenceServiceSparseEmbeddingsModel( - defaultEndpointId("elser-v2"), + defaultEndpointId("elser-2"), TaskType.SPARSE_EMBEDDING, "test", - new ElasticInferenceServiceSparseEmbeddingsServiceSettings("elser-v2", null, null), + new ElasticInferenceServiceSparseEmbeddingsServiceSettings("elser-2", null, null), EmptyTaskSettings.INSTANCE, EmptySecretSettings.INSTANCE, ElasticInferenceServiceComponents.EMPTY_INSTANCE, diff --git a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElserModelsTests.java b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElserModelsTests.java index fa0148ac69df5..d9ffddd62fb40 100644 --- a/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElserModelsTests.java +++ b/x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elasticsearch/ElserModelsTests.java @@ -19,21 +19,7 @@ public void testIsValidModel() { 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() { 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) - ); - } } From c1da4e05483c9e476734abeb9c4212b16a04d0da Mon Sep 17 00:00:00 2001 From: Tim Grein Date: Mon, 30 Jun 2025 16:11:24 +0200 Subject: [PATCH 2/5] Update docs/changelog/130336.yaml --- docs/changelog/130336.yaml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 docs/changelog/130336.yaml diff --git a/docs/changelog/130336.yaml b/docs/changelog/130336.yaml new file mode 100644 index 0000000000000..090374287743c --- /dev/null +++ b/docs/changelog/130336.yaml @@ -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: [] From 3dd90813249f3064e14b3cee3deba1f6c8702c41 Mon Sep 17 00:00:00 2001 From: elasticsearchmachine Date: Mon, 30 Jun 2025 14:20:07 +0000 Subject: [PATCH 3/5] [CI] Auto commit changes from spotless --- .../inference/services/elastic/ElasticInferenceService.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java index de6589f199028..85ed3b509e29c 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java @@ -180,11 +180,7 @@ private static Map initDefaultEndpoints( DEFAULT_ELSER_ENDPOINT_ID_V2, TaskType.SPARSE_EMBEDDING, NAME, - new ElasticInferenceServiceSparseEmbeddingsServiceSettings( - DEFAULT_ELSER_2_MODEL_ID, - null, - null - ), + new ElasticInferenceServiceSparseEmbeddingsServiceSettings(DEFAULT_ELSER_2_MODEL_ID, null, null), EmptyTaskSettings.INSTANCE, EmptySecretSettings.INSTANCE, elasticInferenceServiceComponents, From 3aebb35b2bd00df91ca8821bdcd1d2b503726d25 Mon Sep 17 00:00:00 2001 From: Tim Grein Date: Mon, 30 Jun 2025 17:03:14 +0200 Subject: [PATCH 4/5] Fix integration test --- .../integration/InferenceRevokeDefaultEndpointsIT.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java b/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java index 9c8445528295d..8e40bba8b32f7 100644 --- a/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java +++ b/x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java @@ -193,7 +193,7 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA { "models": [ { - "model_name": "elser-2", + "model_name": "elser_model_2", "task_types": ["embed/text/sparse"] }, { @@ -277,7 +277,7 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA { "models": [ { - "model_name": "elser-2", + "model_name": "elser_model_2", "task_types": ["embed/text/sparse"] }, { From f2c202ae1e9e597a2601daf5258dcc6ae7ea0617 Mon Sep 17 00:00:00 2001 From: Tim Grein Date: Mon, 30 Jun 2025 18:01:44 +0200 Subject: [PATCH 5/5] Fix integration test --- .../MockElasticInferenceServiceAuthorizationServer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java b/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java index e92aaea853f99..4f6260dba7152 100644 --- a/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java +++ b/x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java @@ -39,7 +39,7 @@ public void enqueueAuthorizeAllModelsResponse() { "task_types": ["chat"] }, { - "model_name": "elser-2", + "model_name": "elser_model_2", "task_types": ["embed/text/sparse"] }, {