Skip to content

Commit 50d8912

Browse files
author
Max Hniebergall
committed
Add parameters to ModeConfigurations; rename task_settings constant
1 parent 7344da0 commit 50d8912

File tree

49 files changed

+115
-94
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+115
-94
lines changed

server/src/main/java/org/elasticsearch/inference/ModelConfigurations.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ public class ModelConfigurations implements ToFilteredXContentObject, VersionedN
2828
public static final String USE_ID_FOR_INDEX = "for_index";
2929
public static final String SERVICE = "service";
3030
public static final String SERVICE_SETTINGS = "service_settings";
31-
public static final String TASK_SETTINGS = "task_settings";
31+
public static final String OLD_TASK_SETTINGS = "task_settings";
32+
public static final String PARAMETERS = "parameters";
3233
public static final String CHUNKING_SETTINGS = "chunking_settings";
34+
public static final String INCLUDE_PARAMETERS = "include_parameters";
3335
private static final String NAME = "inference_model";
3436

3537
public static ModelConfigurations of(Model model, TaskSettings taskSettings) {
@@ -173,10 +175,13 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
173175
builder.field(TaskType.NAME, taskType.toString());
174176
builder.field(SERVICE, service);
175177
builder.field(SERVICE_SETTINGS, serviceSettings);
176-
builder.field(TASK_SETTINGS, taskSettings);
178+
builder.field(OLD_TASK_SETTINGS, taskSettings);
177179
if (chunkingSettings != null) {
178180
builder.field(CHUNKING_SETTINGS, chunkingSettings);
179181
}
182+
if (params.paramAsBoolean(INCLUDE_PARAMETERS, true)) { // default true so that REST requests get parameters
183+
builder.field(PARAMETERS, taskSettings);
184+
}
180185
builder.endObject();
181186
return builder;
182187
}
@@ -192,10 +197,13 @@ public XContentBuilder toFilteredXContent(XContentBuilder builder, Params params
192197
builder.field(TaskType.NAME, taskType.toString());
193198
builder.field(SERVICE, service);
194199
builder.field(SERVICE_SETTINGS, serviceSettings.getFilteredXContentObject());
195-
builder.field(TASK_SETTINGS, taskSettings);
200+
builder.field(OLD_TASK_SETTINGS, taskSettings);
196201
if (chunkingSettings != null) {
197202
builder.field(CHUNKING_SETTINGS, chunkingSettings);
198203
}
204+
if (params.paramAsBoolean(INCLUDE_PARAMETERS, true)) { // default true so that REST requests get parameters
205+
builder.field(PARAMETERS, taskSettings);
206+
}
199207
builder.endObject();
200208
return builder;
201209
}

x-pack/plugin/inference/qa/test-service-plugin/src/main/java/org/elasticsearch/xpack/inference/mock/AbstractTestInferenceService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ public TransportVersion getMinimalSupportedVersion() {
4444
protected static Map<String, Object> getTaskSettingsMap(Map<String, Object> settings) {
4545
Map<String, Object> taskSettingsMap;
4646
// task settings are optional
47-
if (settings.containsKey(ModelConfigurations.TASK_SETTINGS)) {
48-
taskSettingsMap = (Map<String, Object>) settings.remove(ModelConfigurations.TASK_SETTINGS);
47+
if (settings.containsKey(ModelConfigurations.OLD_TASK_SETTINGS)) {
48+
taskSettingsMap = (Map<String, Object>) settings.remove(ModelConfigurations.OLD_TASK_SETTINGS);
4949
} else {
5050
taskSettingsMap = Map.of();
5151
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
631631
builder.field(TaskType.NAME, getTaskType().toString());
632632
builder.field(SERVICE, getService());
633633
builder.field(SERVICE_SETTINGS, getServiceSettings());
634-
builder.field(TASK_SETTINGS, getTaskSettings());
634+
builder.field(OLD_TASK_SETTINGS, getTaskSettings());
635635
builder.endObject();
636636
return builder;
637637
}
@@ -657,7 +657,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
657657
builder.field(TaskType.NAME, getTaskType().toString());
658658
builder.field(SERVICE, getService());
659659
builder.field(SERVICE_SETTINGS, getServiceSettings());
660-
builder.field(TASK_SETTINGS, getTaskSettings());
660+
builder.field(OLD_TASK_SETTINGS, getTaskSettings());
661661
builder.endObject();
662662
return builder;
663663
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/registry/ModelRegistry.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,14 @@ private static IndexRequest createIndexRequest(String docId, String indexName, T
418418
var request = new IndexRequest(indexName);
419419
XContentBuilder source = body.toXContent(
420420
builder,
421-
new ToXContent.MapParams(Map.of(ModelConfigurations.USE_ID_FOR_INDEX, Boolean.TRUE.toString()))
421+
new ToXContent.MapParams(
422+
Map.of(
423+
ModelConfigurations.USE_ID_FOR_INDEX,
424+
Boolean.TRUE.toString(),
425+
ModelConfigurations.INCLUDE_PARAMETERS, // we are going to continue to write the parameters field as `task_settings`
426+
Boolean.FALSE.toString()
427+
)
428+
)
422429
);
423430
var operation = allowOverwriting ? DocWriteRequest.OpType.INDEX : DocWriteRequest.OpType.CREATE;
424431

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/alibabacloudsearch/AlibabaCloudSearchService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public void parseRequestConfig(
7272
) {
7373
try {
7474
Map<String, Object> serviceSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.SERVICE_SETTINGS);
75-
Map<String, Object> taskSettingsMap = removeFromMapOrDefaultEmpty(config, ModelConfigurations.TASK_SETTINGS);
75+
Map<String, Object> taskSettingsMap = removeFromMapOrDefaultEmpty(config, ModelConfigurations.OLD_TASK_SETTINGS);
7676

7777
AlibabaCloudSearchModel model = createModel(
7878
inferenceEntityId,
@@ -171,7 +171,7 @@ public AlibabaCloudSearchModel parsePersistedConfigWithSecrets(
171171
Map<String, Object> secrets
172172
) {
173173
Map<String, Object> serviceSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.SERVICE_SETTINGS);
174-
Map<String, Object> taskSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.TASK_SETTINGS);
174+
Map<String, Object> taskSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.OLD_TASK_SETTINGS);
175175
Map<String, Object> secretSettingsMap = removeFromMapOrThrowIfNull(secrets, ModelSecrets.SECRET_SETTINGS);
176176

177177
return createModelWithoutLoggingDeprecations(
@@ -187,7 +187,7 @@ public AlibabaCloudSearchModel parsePersistedConfigWithSecrets(
187187
@Override
188188
public AlibabaCloudSearchModel parsePersistedConfig(String inferenceEntityId, TaskType taskType, Map<String, Object> config) {
189189
Map<String, Object> serviceSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.SERVICE_SETTINGS);
190-
Map<String, Object> taskSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.TASK_SETTINGS);
190+
Map<String, Object> taskSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.OLD_TASK_SETTINGS);
191191

192192
return createModelWithoutLoggingDeprecations(
193193
inferenceEntityId,

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/alibabacloudsearch/embeddings/AlibabaCloudSearchEmbeddingsTaskSettings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public static AlibabaCloudSearchEmbeddingsTaskSettings fromMap(Map<String, Objec
5353
InputType inputType = extractOptionalEnum(
5454
map,
5555
INPUT_TYPE,
56-
ModelConfigurations.TASK_SETTINGS,
56+
ModelConfigurations.OLD_TASK_SETTINGS,
5757
InputType::fromString,
5858
VALID_REQUEST_VALUES,
5959
validationException

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/alibabacloudsearch/sparse/AlibabaCloudSearchSparseTaskSettings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public static AlibabaCloudSearchSparseTaskSettings fromMap(Map<String, Object> m
5353
InputType inputType = extractOptionalEnum(
5454
map,
5555
INPUT_TYPE,
56-
ModelConfigurations.TASK_SETTINGS,
56+
ModelConfigurations.OLD_TASK_SETTINGS,
5757
InputType::fromString,
5858
VALID_REQUEST_VALUES,
5959
validationException

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/amazonbedrock/AmazonBedrockService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public void parseRequestConfig(
124124
) {
125125
try {
126126
Map<String, Object> serviceSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.SERVICE_SETTINGS);
127-
Map<String, Object> taskSettingsMap = removeFromMapOrDefaultEmpty(config, ModelConfigurations.TASK_SETTINGS);
127+
Map<String, Object> taskSettingsMap = removeFromMapOrDefaultEmpty(config, ModelConfigurations.OLD_TASK_SETTINGS);
128128

129129
AmazonBedrockModel model = createModel(
130130
modelId,
@@ -154,7 +154,7 @@ public Model parsePersistedConfigWithSecrets(
154154
Map<String, Object> secrets
155155
) {
156156
Map<String, Object> serviceSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.SERVICE_SETTINGS);
157-
Map<String, Object> taskSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.TASK_SETTINGS);
157+
Map<String, Object> taskSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.OLD_TASK_SETTINGS);
158158
Map<String, Object> secretSettingsMap = removeFromMapOrDefaultEmpty(secrets, ModelSecrets.SECRET_SETTINGS);
159159

160160
return createModel(
@@ -171,7 +171,7 @@ public Model parsePersistedConfigWithSecrets(
171171
@Override
172172
public Model parsePersistedConfig(String modelId, TaskType taskType, Map<String, Object> config) {
173173
Map<String, Object> serviceSettingsMap = removeFromMapOrThrowIfNull(config, ModelConfigurations.SERVICE_SETTINGS);
174-
Map<String, Object> taskSettingsMap = removeFromMapOrDefaultEmpty(config, ModelConfigurations.TASK_SETTINGS);
174+
Map<String, Object> taskSettingsMap = removeFromMapOrDefaultEmpty(config, ModelConfigurations.OLD_TASK_SETTINGS);
175175

176176
return createModel(
177177
modelId,

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/amazonbedrock/completion/AmazonBedrockChatCompletionRequestTaskSettings.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,29 +55,29 @@ public static AmazonBedrockChatCompletionRequestTaskSettings fromMap(Map<String,
5555
TEMPERATURE_FIELD,
5656
MIN_TEMPERATURE_TOP_P_TOP_K_VALUE,
5757
MAX_TEMPERATURE_TOP_P_TOP_K_VALUE,
58-
ModelConfigurations.TASK_SETTINGS,
58+
ModelConfigurations.OLD_TASK_SETTINGS,
5959
validationException
6060
);
6161
var topP = extractOptionalDoubleInRange(
6262
map,
6363
TOP_P_FIELD,
6464
MIN_TEMPERATURE_TOP_P_TOP_K_VALUE,
6565
MAX_TEMPERATURE_TOP_P_TOP_K_VALUE,
66-
ModelConfigurations.TASK_SETTINGS,
66+
ModelConfigurations.OLD_TASK_SETTINGS,
6767
validationException
6868
);
6969
var topK = extractOptionalDoubleInRange(
7070
map,
7171
TOP_K_FIELD,
7272
MIN_TEMPERATURE_TOP_P_TOP_K_VALUE,
7373
MAX_TEMPERATURE_TOP_P_TOP_K_VALUE,
74-
ModelConfigurations.TASK_SETTINGS,
74+
ModelConfigurations.OLD_TASK_SETTINGS,
7575
validationException
7676
);
7777
Integer maxNewTokens = extractOptionalPositiveInteger(
7878
map,
7979
MAX_NEW_TOKENS_FIELD,
80-
ModelConfigurations.TASK_SETTINGS,
80+
ModelConfigurations.OLD_TASK_SETTINGS,
8181
validationException
8282
);
8383

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/amazonbedrock/completion/AmazonBedrockChatCompletionTaskSettings.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,29 +48,29 @@ public static AmazonBedrockChatCompletionTaskSettings fromMap(Map<String, Object
4848
TEMPERATURE_FIELD,
4949
MIN_TEMPERATURE_TOP_P_TOP_K_VALUE,
5050
MAX_TEMPERATURE_TOP_P_TOP_K_VALUE,
51-
ModelConfigurations.TASK_SETTINGS,
51+
ModelConfigurations.OLD_TASK_SETTINGS,
5252
validationException
5353
);
5454
Double topP = extractOptionalDoubleInRange(
5555
settings,
5656
TOP_P_FIELD,
5757
MIN_TEMPERATURE_TOP_P_TOP_K_VALUE,
5858
MAX_TEMPERATURE_TOP_P_TOP_K_VALUE,
59-
ModelConfigurations.TASK_SETTINGS,
59+
ModelConfigurations.OLD_TASK_SETTINGS,
6060
validationException
6161
);
6262
Double topK = extractOptionalDoubleInRange(
6363
settings,
6464
TOP_K_FIELD,
6565
MIN_TEMPERATURE_TOP_P_TOP_K_VALUE,
6666
MAX_TEMPERATURE_TOP_P_TOP_K_VALUE,
67-
ModelConfigurations.TASK_SETTINGS,
67+
ModelConfigurations.OLD_TASK_SETTINGS,
6868
validationException
6969
);
7070
Integer maxNewTokens = extractOptionalPositiveInteger(
7171
settings,
7272
MAX_NEW_TOKENS_FIELD,
73-
ModelConfigurations.TASK_SETTINGS,
73+
ModelConfigurations.OLD_TASK_SETTINGS,
7474
validationException
7575
);
7676

0 commit comments

Comments
 (0)