Skip to content

Commit 4aac9c7

Browse files
authored
Add Default ELSER 2 Capability (#115891) (#116120)
1 parent 8c039bf commit 4aac9c7

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
@@ -211,12 +211,6 @@ tests:
211211
issue: https://github.com/elastic/elasticsearch/issues/113655
212212
- class: org.elasticsearch.xpack.esql.expression.function.scalar.convert.ToDateNanosTests
213213
issue: https://github.com/elastic/elasticsearch/issues/113661
214-
- class: org.elasticsearch.xpack.inference.InferenceRestIT
215-
method: test {p0=inference/30_semantic_text_inference/Calculates embeddings using the default ELSER 2 endpoint}
216-
issue: https://github.com/elastic/elasticsearch/issues/114412
217-
- class: org.elasticsearch.xpack.inference.InferenceRestIT
218-
method: test {p0=inference/40_semantic_text_query/Query a field that uses the default ELSER 2 endpoint}
219-
issue: https://github.com/elastic/elasticsearch/issues/114376
220214
- class: org.elasticsearch.search.retriever.RankDocsRetrieverBuilderTests
221215
method: testRewrite
222216
issue: https://github.com/elastic/elasticsearch/issues/114467

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)