Skip to content

Commit f5c7b48

Browse files
authored
Add Default ELSER 2 Capability (#115891)
1 parent 8cc76e4 commit f5c7b48

File tree

5 files changed

+28
-11
lines changed

5 files changed

+28
-11
lines changed

muted-tests.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,6 @@ tests:
174174
- class: org.elasticsearch.xpack.inference.InferenceCrudIT
175175
method: testGet
176176
issue: https://github.com/elastic/elasticsearch/issues/114135
177-
- class: org.elasticsearch.xpack.inference.InferenceRestIT
178-
method: test {p0=inference/30_semantic_text_inference/Calculates embeddings using the default ELSER 2 endpoint}
179-
issue: https://github.com/elastic/elasticsearch/issues/114412
180-
- class: org.elasticsearch.xpack.inference.InferenceRestIT
181-
method: test {p0=inference/40_semantic_text_query/Query a field that uses the default ELSER 2 endpoint}
182-
issue: https://github.com/elastic/elasticsearch/issues/114376
183177
- class: org.elasticsearch.packaging.test.DockerTests
184178
method: test022InstallPluginsFromLocalArchive
185179
issue: https://github.com/elastic/elasticsearch/issues/111063

x-pack/plugin/inference/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ apply plugin: 'elasticsearch.internal-yaml-rest-test'
1212

1313
restResources {
1414
restApi {
15-
include '_common', 'bulk', 'indices', 'inference', 'index', 'get', 'update', 'reindex', 'search', 'field_caps'
15+
include '_common', 'bulk', 'indices', 'inference', 'index', 'get', 'update', 'reindex', 'search', 'field_caps', 'capabilities'
1616
}
1717
}
1818

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/rest/RestGetInferenceModelAction.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,12 @@
1515
import org.elasticsearch.rest.ServerlessScope;
1616
import org.elasticsearch.rest.action.RestToXContentListener;
1717
import org.elasticsearch.xpack.core.inference.action.GetInferenceModelAction;
18+
import org.elasticsearch.xpack.inference.DefaultElserFeatureFlag;
1819

20+
import java.util.Collections;
21+
import java.util.HashSet;
1922
import java.util.List;
23+
import java.util.Set;
2024

2125
import static org.elasticsearch.rest.RestRequest.Method.GET;
2226
import static org.elasticsearch.xpack.inference.rest.Paths.INFERENCE_ID;
@@ -26,6 +30,7 @@
2630

2731
@ServerlessScope(Scope.PUBLIC)
2832
public class RestGetInferenceModelAction extends BaseRestHandler {
33+
public static final String DEFAULT_ELSER_2_CAPABILITY = "default_elser_2";
2934

3035
@Override
3136
public String getName() {
@@ -61,4 +66,14 @@ protected RestChannelConsumer prepareRequest(RestRequest restRequest, NodeClient
6166
var request = new GetInferenceModelAction.Request(inferenceEntityId, taskType);
6267
return channel -> client.execute(GetInferenceModelAction.INSTANCE, request, new RestToXContentListener<>(channel));
6368
}
69+
70+
@Override
71+
public Set<String> supportedCapabilities() {
72+
Set<String> capabilities = new HashSet<>();
73+
if (DefaultElserFeatureFlag.isEnabled()) {
74+
capabilities.add(DEFAULT_ELSER_2_CAPABILITY);
75+
}
76+
77+
return Collections.unmodifiableSet(capabilities);
78+
}
6479
}

x-pack/plugin/inference/src/yamlRestTest/resources/rest-api-spec/test/inference/30_semantic_text_inference.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -551,8 +551,12 @@ setup:
551551
---
552552
"Calculates embeddings using the default ELSER 2 endpoint":
553553
- requires:
554-
cluster_features: "semantic_text.default_elser_2"
555-
reason: semantic_text default ELSER 2 inference ID introduced in 8.16.0
554+
reason: "default ELSER 2 inference ID is behind a feature flag"
555+
test_runner_features: [capabilities]
556+
capabilities:
557+
- method: GET
558+
path: /_inference
559+
capabilities: [default_elser_2]
556560

557561
- do:
558562
indices.create:

x-pack/plugin/inference/src/yamlRestTest/resources/rest-api-spec/test/inference/40_semantic_text_query.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -843,8 +843,12 @@ setup:
843843
---
844844
"Query a field that uses the default ELSER 2 endpoint":
845845
- requires:
846-
cluster_features: "semantic_text.default_elser_2"
847-
reason: semantic_text default ELSER 2 inference ID introduced in 8.16.0
846+
reason: "default ELSER 2 inference ID is behind a feature flag"
847+
test_runner_features: [capabilities]
848+
capabilities:
849+
- method: GET
850+
path: /_inference
851+
capabilities: [default_elser_2]
848852

849853
- do:
850854
indices.create:

0 commit comments

Comments
 (0)