Skip to content

Commit f922b8e

Browse files
[8.19] add default inference endpoint for Elastic Inference Service rerank (#129681) (#129985)
* add default inference endpoint for Elastic Inference Service rerank (#129681) * add Elastic Inference Service rerank default inference endpoint * [CI] Auto commit changes from spotless * fix integ tests * update mock Elastic Inference Service authorization response * fix rerank service test --------- Co-authored-by: elasticsearchmachine <[email protected]> (cherry picked from commit cef717c) # Conflicts: # x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/InferenceGetServicesIT.java # x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceService.java * Fix InferenceGetServicesIT rerank integration test * Fix InferenceGetServicesIT rerank integration test * spotlessApply * Fix integration test --------- Co-authored-by: Brendan Jugan <[email protected]>
1 parent 3d71f74 commit f922b8e

File tree

6 files changed

+34
-27
lines changed

6 files changed

+34
-27
lines changed

x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/InferenceGetServicesIT.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,21 +112,26 @@ private Iterable<String> providersFor(TaskType taskType) throws IOException {
112112
}
113113

114114
public void testGetServicesWithRerankTaskType() throws IOException {
115+
List<Object> services = getServices(TaskType.RERANK);
116+
assertThat(services.size(), equalTo(11));
117+
118+
var providers = providers(services);
119+
115120
assertThat(
116121
providersFor(TaskType.RERANK),
117122
containsInAnyOrder(
118123
List.of(
119124
"alibabacloud-ai-search",
125+
"amazon_sagemaker",
120126
"cohere",
121127
"custom",
122128
"elastic",
123129
"elasticsearch",
124130
"googlevertexai",
131+
"hugging_face",
125132
"jinaai",
126133
"test_reranking_service",
127-
"voyageai",
128-
"hugging_face",
129-
"amazon_sagemaker"
134+
"voyageai"
130135
).toArray()
131136
)
132137
);

x-pack/plugin/inference/qa/inference-service-tests/src/javaRestTest/java/org/elasticsearch/xpack/inference/MockElasticInferenceServiceAuthorizationServer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void enqueueAuthorizeAllModelsResponse() {
4646
"model_name": "multilingual-embed-v1",
4747
"task_types": ["embed/text/dense"]
4848
},
49-
{
49+
{
5050
"model_name": "rerank-v1",
5151
"task_types": ["rerank/text/text-similarity"]
5252
}

x-pack/plugin/inference/src/internalClusterTest/java/org/elasticsearch/xpack/inference/integration/InferenceRevokeDefaultEndpointsIT.java

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA
283283
{
284284
"model_name": "rerank-v1",
285285
"task_types": ["rerank/text/text-similarity"]
286+
286287
},
287288
{
288289
"model_name": "multilingual-embed-v1",
@@ -299,28 +300,29 @@ public void testRemoves_DefaultChatCompletion_V1_WhenAuthorizationDoesNotReturnA
299300

300301
assertThat(service.supportedStreamingTasks(), is(EnumSet.noneOf(TaskType.class)));
301302
assertThat(
302-
service.defaultConfigIds(),
303-
containsInAnyOrder(
304-
new InferenceService.DefaultConfigId(
305-
".elser-v2-elastic",
306-
MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME),
307-
service
308-
),
309-
new InferenceService.DefaultConfigId(
310-
".multilingual-embed-v1-elastic",
311-
MinimalServiceSettings.textEmbedding(
312-
ElasticInferenceService.NAME,
313-
ElasticInferenceService.DENSE_TEXT_EMBEDDINGS_DIMENSIONS,
314-
ElasticInferenceService.defaultDenseTextEmbeddingsSimilarity(),
315-
DenseVectorFieldMapper.ElementType.FLOAT
316-
),
317-
service
303+
service.supportedTaskTypes(),
304+
is(EnumSet.of(TaskType.TEXT_EMBEDDING, TaskType.SPARSE_EMBEDDING, TaskType.RERANK))
305+
);
306+
containsInAnyOrder(
307+
new InferenceService.DefaultConfigId(
308+
".elser-v2-elastic",
309+
MinimalServiceSettings.sparseEmbedding(ElasticInferenceService.NAME),
310+
service
311+
),
312+
new InferenceService.DefaultConfigId(
313+
".multilingual-embed-v1-elastic",
314+
MinimalServiceSettings.textEmbedding(
315+
ElasticInferenceService.NAME,
316+
ElasticInferenceService.DENSE_TEXT_EMBEDDINGS_DIMENSIONS,
317+
ElasticInferenceService.defaultDenseTextEmbeddingsSimilarity(),
318+
DenseVectorFieldMapper.ElementType.FLOAT
318319
),
319-
new InferenceService.DefaultConfigId(
320-
".rerank-v1-elastic",
321-
MinimalServiceSettings.rerank(ElasticInferenceService.NAME),
322-
service
323-
)
320+
service
321+
),
322+
new InferenceService.DefaultConfigId(
323+
".rerank-v1-elastic",
324+
MinimalServiceSettings.rerank(ElasticInferenceService.NAME),
325+
service
324326
)
325327
);
326328
assertThat(

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,6 @@ private static Map<String, DefaultModelConfig> initDefaultEndpoints(
210210
DenseVectorFieldMapper.ElementType.FLOAT
211211
)
212212
),
213-
214213
DEFAULT_RERANK_MODEL_ID_V1,
215214
new DefaultModelConfig(
216215
new ElasticInferenceServiceRerankModel(

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/elastic/rerank/ElasticInferenceServiceRerankModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public URI uri() {
8787
private URI createUri() throws ElasticsearchStatusException {
8888
try {
8989
// TODO, consider transforming the base URL into a URI for better error handling.
90-
return new URI(elasticInferenceServiceComponents().elasticInferenceServiceUrl() + "/api/v1/rerank");
90+
return new URI(elasticInferenceServiceComponents().elasticInferenceServiceUrl() + "/api/v1/rerank/text/text-similarity");
9191
} catch (URISyntaxException e) {
9292
throw new ElasticsearchStatusException(
9393
"Failed to create URI for service ["

x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/services/elastic/ElasticInferenceServiceTests.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,7 @@ public void testDefaultConfigs_Returns_DefaultEndpoints_WhenTaskTypeIsCorrect()
13151315
PlainActionFuture<List<Model>> listener = new PlainActionFuture<>();
13161316
service.defaultConfigs(listener);
13171317
var models = listener.actionGet(TIMEOUT);
1318+
13181319
assertThat(models.size(), is(4));
13191320
assertThat(models.get(0).getConfigurations().getInferenceEntityId(), is(".elser-v2-elastic"));
13201321
assertThat(models.get(1).getConfigurations().getInferenceEntityId(), is(".multilingual-embed-v1-elastic"));

0 commit comments

Comments
 (0)