Skip to content

Commit 97a3730

Browse files
Addressing feedback
1 parent d8b841f commit 97a3730

13 files changed

+30
-78
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public ElasticInferenceServiceCompletionModel(
5757
inferenceEntityId,
5858
taskType,
5959
service,
60-
ElasticInferenceServiceCompletionServiceSettings.fromMap(serviceSettings, context),
60+
ElasticInferenceServiceCompletionServiceSettings.fromMap(serviceSettings),
6161
EmptyTaskSettings.INSTANCE,
6262
EmptySecretSettings.INSTANCE,
6363
elasticInferenceServiceComponents

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.elasticsearch.inference.ModelConfigurations;
1616
import org.elasticsearch.inference.ServiceSettings;
1717
import org.elasticsearch.xcontent.XContentBuilder;
18-
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
1918
import org.elasticsearch.xpack.inference.services.elastic.ElasticInferenceServiceRateLimitServiceSettings;
2019
import org.elasticsearch.xpack.inference.services.settings.FilteredXContentObject;
2120
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
@@ -34,7 +33,7 @@ public class ElasticInferenceServiceCompletionServiceSettings extends FilteredXC
3433

3534
public static final String NAME = "elastic_inference_service_completion_service_settings";
3635

37-
public static ElasticInferenceServiceCompletionServiceSettings fromMap(Map<String, Object> map, ConfigurationParseContext context) {
36+
public static ElasticInferenceServiceCompletionServiceSettings fromMap(Map<String, Object> map) {
3837
ValidationException validationException = new ValidationException();
3938

4039
String modelId = extractRequiredString(map, MODEL_ID, ModelConfigurations.SERVICE_SETTINGS, validationException);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public ElasticInferenceServiceDenseTextEmbeddingsModel(
4747
inferenceEntityId,
4848
taskType,
4949
service,
50-
ElasticInferenceServiceDenseTextEmbeddingsServiceSettings.fromMap(serviceSettings, context),
50+
ElasticInferenceServiceDenseTextEmbeddingsServiceSettings.fromMap(serviceSettings),
5151
EmptyTaskSettings.INSTANCE,
5252
EmptySecretSettings.INSTANCE,
5353
elasticInferenceServiceComponents,

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

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.elasticsearch.inference.ServiceSettings;
1919
import org.elasticsearch.inference.SimilarityMeasure;
2020
import org.elasticsearch.xcontent.XContentBuilder;
21-
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
2221
import org.elasticsearch.xpack.inference.services.elastic.ElasticInferenceServiceRateLimitServiceSettings;
2322
import org.elasticsearch.xpack.inference.services.settings.FilteredXContentObject;
2423
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
@@ -48,40 +47,7 @@ public class ElasticInferenceServiceDenseTextEmbeddingsServiceSettings extends F
4847
private final Integer maxInputTokens;
4948
private final RateLimitSettings rateLimitSettings;
5049

51-
public static ElasticInferenceServiceDenseTextEmbeddingsServiceSettings fromMap(
52-
Map<String, Object> map,
53-
ConfigurationParseContext context
54-
) {
55-
return switch (context) {
56-
case REQUEST -> fromRequestMap(map, context);
57-
case PERSISTENT -> fromPersistentMap(map, context);
58-
};
59-
}
60-
61-
private static ElasticInferenceServiceDenseTextEmbeddingsServiceSettings fromRequestMap(
62-
Map<String, Object> map,
63-
ConfigurationParseContext context
64-
) {
65-
ValidationException validationException = new ValidationException();
66-
67-
String modelId = extractRequiredString(map, MODEL_ID, ModelConfigurations.SERVICE_SETTINGS, validationException);
68-
RateLimitSettings.disabledRateLimiting(map);
69-
70-
SimilarityMeasure similarity = extractSimilarity(map, ModelConfigurations.SERVICE_SETTINGS, validationException);
71-
Integer dims = removeAsType(map, DIMENSIONS, Integer.class);
72-
Integer maxInputTokens = removeAsType(map, MAX_INPUT_TOKENS, Integer.class);
73-
74-
if (validationException.validationErrors().isEmpty() == false) {
75-
throw validationException;
76-
}
77-
78-
return new ElasticInferenceServiceDenseTextEmbeddingsServiceSettings(modelId, similarity, dims, maxInputTokens);
79-
}
80-
81-
private static ElasticInferenceServiceDenseTextEmbeddingsServiceSettings fromPersistentMap(
82-
Map<String, Object> map,
83-
ConfigurationParseContext context
84-
) {
50+
public static ElasticInferenceServiceDenseTextEmbeddingsServiceSettings fromMap(Map<String, Object> map) {
8551
ValidationException validationException = new ValidationException();
8652

8753
String modelId = extractRequiredString(map, MODEL_ID, ModelConfigurations.SERVICE_SETTINGS, validationException);

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
@@ -45,7 +45,7 @@ public ElasticInferenceServiceRerankModel(
4545
inferenceEntityId,
4646
taskType,
4747
service,
48-
ElasticInferenceServiceRerankServiceSettings.fromMap(serviceSettings, context),
48+
ElasticInferenceServiceRerankServiceSettings.fromMap(serviceSettings),
4949
EmptyTaskSettings.INSTANCE,
5050
EmptySecretSettings.INSTANCE,
5151
elasticInferenceServiceComponents

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.elasticsearch.inference.ModelConfigurations;
1616
import org.elasticsearch.inference.ServiceSettings;
1717
import org.elasticsearch.xcontent.XContentBuilder;
18-
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
1918
import org.elasticsearch.xpack.inference.services.elastic.ElasticInferenceServiceRateLimitServiceSettings;
2019
import org.elasticsearch.xpack.inference.services.settings.FilteredXContentObject;
2120
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
@@ -34,7 +33,7 @@ public class ElasticInferenceServiceRerankServiceSettings extends FilteredXConte
3433

3534
public static final String NAME = "elastic_rerank_service_settings";
3635

37-
public static ElasticInferenceServiceRerankServiceSettings fromMap(Map<String, Object> map, ConfigurationParseContext context) {
36+
public static ElasticInferenceServiceRerankServiceSettings fromMap(Map<String, Object> map) {
3837
ValidationException validationException = new ValidationException();
3938

4039
String modelId = extractRequiredString(map, MODEL_ID, ModelConfigurations.SERVICE_SETTINGS, validationException);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public ElasticInferenceServiceSparseEmbeddingsModel(
4747
inferenceEntityId,
4848
taskType,
4949
service,
50-
ElasticInferenceServiceSparseEmbeddingsServiceSettings.fromMap(serviceSettings, context),
50+
ElasticInferenceServiceSparseEmbeddingsServiceSettings.fromMap(serviceSettings),
5151
EmptyTaskSettings.INSTANCE,
5252
EmptySecretSettings.INSTANCE,
5353
elasticInferenceServiceComponents,

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.elasticsearch.inference.ModelConfigurations;
1717
import org.elasticsearch.inference.ServiceSettings;
1818
import org.elasticsearch.xcontent.XContentBuilder;
19-
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
2019
import org.elasticsearch.xpack.inference.services.elastic.ElasticInferenceServiceRateLimitServiceSettings;
2120
import org.elasticsearch.xpack.inference.services.settings.FilteredXContentObject;
2221
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
@@ -37,10 +36,7 @@ public class ElasticInferenceServiceSparseEmbeddingsServiceSettings extends Filt
3736

3837
public static final String NAME = "elastic_inference_service_sparse_embeddings_service_settings";
3938

40-
public static ElasticInferenceServiceSparseEmbeddingsServiceSettings fromMap(
41-
Map<String, Object> map,
42-
ConfigurationParseContext context
43-
) {
39+
public static ElasticInferenceServiceSparseEmbeddingsServiceSettings fromMap(Map<String, Object> map) {
4440
ValidationException validationException = new ValidationException();
4541

4642
String modelId = extractRequiredString(map, MODEL_ID, ModelConfigurations.SERVICE_SETTINGS, validationException);

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.elasticsearch.xcontent.XContentFactory;
1515
import org.elasticsearch.xcontent.XContentType;
1616
import org.elasticsearch.xpack.core.ml.AbstractBWCWireSerializationTestCase;
17-
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
1817
import org.elasticsearch.xpack.inference.services.ServiceFields;
1918
import org.elasticsearch.xpack.inference.services.elastic.sparseembeddings.ElasticInferenceServiceSparseEmbeddingsServiceSettings;
2019
import org.elasticsearch.xpack.inference.services.elasticsearch.ElserModels;
@@ -25,6 +24,7 @@
2524
import java.util.Map;
2625

2726
import static org.elasticsearch.xpack.inference.services.elasticsearch.ElserModelsTests.randomElserModel;
27+
import static org.hamcrest.Matchers.anEmptyMap;
2828
import static org.hamcrest.Matchers.is;
2929
import static org.hamcrest.Matchers.sameInstance;
3030

@@ -52,8 +52,7 @@ public void testFromMap() {
5252
var modelId = "my-model-id";
5353

5454
var serviceSettings = ElasticInferenceServiceSparseEmbeddingsServiceSettings.fromMap(
55-
new HashMap<>(Map.of(ServiceFields.MODEL_ID, modelId)),
56-
ConfigurationParseContext.REQUEST
55+
new HashMap<>(Map.of(ServiceFields.MODEL_ID, modelId))
5756
);
5857

5958
assertThat(serviceSettings, is(new ElasticInferenceServiceSparseEmbeddingsServiceSettings(modelId, null)));
@@ -69,12 +68,11 @@ public void testFromMap_RemovesRateLimitSettings() {
6968
new HashMap<>(Map.of(RateLimitSettings.REQUESTS_PER_MINUTE_FIELD, 100))
7069
)
7170
);
72-
var serviceSettings = ElasticInferenceServiceSparseEmbeddingsServiceSettings.fromMap(map, ConfigurationParseContext.REQUEST);
71+
var serviceSettings = ElasticInferenceServiceSparseEmbeddingsServiceSettings.fromMap(map);
7372

74-
assertThat(map, is(Map.of()));
73+
assertThat(map, anEmptyMap());
7574
assertThat(serviceSettings, is(new ElasticInferenceServiceSparseEmbeddingsServiceSettings(modelId, null)));
7675
assertThat(serviceSettings.rateLimitSettings(), sameInstance(RateLimitSettings.DISABLED_INSTANCE));
77-
assertThat(serviceSettings.rateLimitSettings().isEnabled(), is(false));
7876
}
7977

8078
public void testToXContent_WritesAllFields() throws IOException {

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

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import org.elasticsearch.xcontent.XContentFactory;
1717
import org.elasticsearch.xcontent.XContentType;
1818
import org.elasticsearch.xpack.core.ml.AbstractBWCWireSerializationTestCase;
19-
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
2019
import org.elasticsearch.xpack.inference.services.ServiceFields;
2120
import org.elasticsearch.xpack.inference.services.elastic.rerank.ElasticInferenceServiceRerankServiceSettings;
2221
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
@@ -25,6 +24,7 @@
2524
import java.util.HashMap;
2625
import java.util.Map;
2726

27+
import static org.hamcrest.Matchers.anEmptyMap;
2828
import static org.hamcrest.Matchers.containsString;
2929
import static org.hamcrest.Matchers.is;
3030
import static org.hamcrest.Matchers.sameInstance;
@@ -52,13 +52,11 @@ public void testFromMap() {
5252
var modelId = "model_id";
5353

5454
var serviceSettings = ElasticInferenceServiceCompletionServiceSettings.fromMap(
55-
new HashMap<>(Map.of(ServiceFields.MODEL_ID, modelId)),
56-
ConfigurationParseContext.REQUEST
55+
new HashMap<>(Map.of(ServiceFields.MODEL_ID, modelId))
5756
);
5857

5958
assertThat(serviceSettings, is(new ElasticInferenceServiceCompletionServiceSettings(modelId)));
6059
assertThat(serviceSettings.rateLimitSettings(), sameInstance(RateLimitSettings.DISABLED_INSTANCE));
61-
assertFalse(serviceSettings.rateLimitSettings().isEnabled());
6260
}
6361

6462
public void testFromMap_RemovesRateLimitingField() {
@@ -72,18 +70,17 @@ public void testFromMap_RemovesRateLimitingField() {
7270
new HashMap<>(Map.of(RateLimitSettings.REQUESTS_PER_MINUTE_FIELD, 100))
7371
)
7472
);
75-
var serviceSettings = ElasticInferenceServiceRerankServiceSettings.fromMap(map, ConfigurationParseContext.REQUEST);
73+
var serviceSettings = ElasticInferenceServiceRerankServiceSettings.fromMap(map);
7674

77-
assertThat(map, is(Map.of()));
75+
assertThat(map, anEmptyMap());
7876
assertThat(serviceSettings, is(new ElasticInferenceServiceRerankServiceSettings(modelId)));
7977
assertThat(serviceSettings.rateLimitSettings(), sameInstance(RateLimitSettings.DISABLED_INSTANCE));
80-
assertFalse(serviceSettings.rateLimitSettings().isEnabled());
8178
}
8279

8380
public void testFromMap_MissingModelId_ThrowsException() {
8481
ValidationException validationException = expectThrows(
8582
ValidationException.class,
86-
() -> ElasticInferenceServiceCompletionServiceSettings.fromMap(new HashMap<>(Map.of()), ConfigurationParseContext.REQUEST)
83+
() -> ElasticInferenceServiceCompletionServiceSettings.fromMap(new HashMap<>(Map.of()))
8784
);
8885

8986
assertThat(validationException.getMessage(), containsString("does not contain the required setting [model_id]"));
@@ -98,7 +95,9 @@ public void testToXContent_WritesAllFields() throws IOException {
9895
String xContentResult = Strings.toString(builder);
9996

10097
assertThat(xContentResult, is(XContentHelper.stripWhitespace(Strings.format("""
101-
{"model_id":"%s"}""", modelId))));
98+
{
99+
"model_id":"%s"
100+
}""", modelId))));
102101
}
103102

104103
public static ElasticInferenceServiceCompletionServiceSettings createRandom() {

0 commit comments

Comments
 (0)