Skip to content

Commit 81a05b7

Browse files
Adding unsupported operation calls
1 parent bf817d0 commit 81a05b7

File tree

16 files changed

+178
-4
lines changed

16 files changed

+178
-4
lines changed

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/sender/OpenAiCompletionRequestManager.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,11 @@ public void execute(
4848
) {
4949

5050
// TODO check and see if this works
51-
// OpenAiUnifiedChatCompletionRequest request = new OpenAiUnifiedChatCompletionRequest(UnifiedChatInput.of(inferenceInputs), model);
52-
OpenAiUnifiedChatCompletionRequest request = new OpenAiUnifiedChatCompletionRequest(inferenceInputs.castTo(UnifiedChatInput.class), model);
51+
// OpenAiUnifiedChatCompletionRequest request = new OpenAiUnifiedChatCompletionRequest(UnifiedChatInput.of(inferenceInputs), model);
52+
OpenAiUnifiedChatCompletionRequest request = new OpenAiUnifiedChatCompletionRequest(
53+
inferenceInputs.castTo(UnifiedChatInput.class),
54+
model
55+
);
5356

5457
execute(new ExecutableInferenceRequest(requestSender, logger, request, HANDLER, hasRequestCompletedFunction, listener));
5558
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,5 +776,9 @@ public static <T> T nonNullOrDefault(@Nullable T requestValue, @Nullable T origi
776776
return requestValue == null ? originalSettingsValue : requestValue;
777777
}
778778

779+
public static void throwUnsupportedUnifiedCompletionOperation(String serviceName) {
780+
throw new UnsupportedOperationException(Strings.format("The %s service does not support unified completion", serviceName));
781+
}
782+
779783
private ServiceUtils() {}
780784
}

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.elasticsearch.xpack.inference.external.http.sender.DocumentsOnlyInput;
4040
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
4141
import org.elasticsearch.xpack.inference.external.http.sender.InferenceInputs;
42+
import org.elasticsearch.xpack.inference.external.http.sender.UnifiedChatInput;
4243
import org.elasticsearch.xpack.inference.external.request.alibabacloudsearch.AlibabaCloudSearchUtils;
4344
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
4445
import org.elasticsearch.xpack.inference.services.SenderService;
@@ -58,15 +59,14 @@
5859
import java.util.Map;
5960
import java.util.stream.Stream;
6061

61-
import static org.elasticsearch.inference.TaskType.SPARSE_EMBEDDING;
62-
import static org.elasticsearch.inference.TaskType.TEXT_EMBEDDING;
6362
import static org.elasticsearch.xpack.core.inference.action.InferenceAction.Request.DEFAULT_TIMEOUT;
6463
import static org.elasticsearch.xpack.inference.services.ServiceUtils.createInvalidModelException;
6564
import static org.elasticsearch.xpack.inference.services.ServiceUtils.parsePersistedConfigErrorMsg;
6665
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMap;
6766
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrDefaultEmpty;
6867
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrThrowIfNull;
6968
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwIfNotEmptyMap;
69+
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwUnsupportedUnifiedCompletionOperation;
7070
import static org.elasticsearch.xpack.inference.services.alibabacloudsearch.AlibabaCloudSearchServiceFields.EMBEDDING_MAX_BATCH_SIZE;
7171
import static org.elasticsearch.xpack.inference.services.alibabacloudsearch.AlibabaCloudSearchServiceSettings.HOST;
7272
import static org.elasticsearch.xpack.inference.services.alibabacloudsearch.AlibabaCloudSearchServiceSettings.HTTP_SCHEMA_NAME;
@@ -263,6 +263,16 @@ public AlibabaCloudSearchModel parsePersistedConfig(String inferenceEntityId, Ta
263263
);
264264
}
265265

266+
@Override
267+
protected void doUnifiedCompletionInfer(
268+
Model model,
269+
UnifiedChatInput inputs,
270+
TimeValue timeout,
271+
ActionListener<InferenceServiceResults> listener
272+
) {
273+
throwUnsupportedUnifiedCompletionOperation(NAME);
274+
}
275+
266276
@Override
267277
public void doInfer(
268278
Model model,

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
4242
import org.elasticsearch.xpack.inference.external.http.sender.InferenceInputs;
4343
import org.elasticsearch.xpack.inference.external.http.sender.Sender;
44+
import org.elasticsearch.xpack.inference.external.http.sender.UnifiedChatInput;
4445
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
4546
import org.elasticsearch.xpack.inference.services.SenderService;
4647
import org.elasticsearch.xpack.inference.services.ServiceComponents;
@@ -64,6 +65,7 @@
6465
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrDefaultEmpty;
6566
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrThrowIfNull;
6667
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwIfNotEmptyMap;
68+
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwUnsupportedUnifiedCompletionOperation;
6769
import static org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockConstants.MODEL_FIELD;
6870
import static org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockConstants.PROVIDER_FIELD;
6971
import static org.elasticsearch.xpack.inference.services.amazonbedrock.AmazonBedrockConstants.REGION_FIELD;
@@ -89,6 +91,16 @@ public AmazonBedrockService(
8991
this.amazonBedrockSender = amazonBedrockFactory.createSender();
9092
}
9193

94+
@Override
95+
protected void doUnifiedCompletionInfer(
96+
Model model,
97+
UnifiedChatInput inputs,
98+
TimeValue timeout,
99+
ActionListener<InferenceServiceResults> listener
100+
) {
101+
throwUnsupportedUnifiedCompletionOperation(NAME);
102+
}
103+
92104
@Override
93105
protected void doInfer(
94106
Model model,

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/anthropic/AnthropicService.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.elasticsearch.xpack.inference.external.http.sender.DocumentsOnlyInput;
3434
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
3535
import org.elasticsearch.xpack.inference.external.http.sender.InferenceInputs;
36+
import org.elasticsearch.xpack.inference.external.http.sender.UnifiedChatInput;
3637
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
3738
import org.elasticsearch.xpack.inference.services.SenderService;
3839
import org.elasticsearch.xpack.inference.services.ServiceComponents;
@@ -52,6 +53,7 @@
5253
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrDefaultEmpty;
5354
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrThrowIfNull;
5455
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwIfNotEmptyMap;
56+
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwUnsupportedUnifiedCompletionOperation;
5557

5658
public class AnthropicService extends SenderService {
5759
public static final String NAME = "anthropic";
@@ -186,6 +188,16 @@ public EnumSet<TaskType> supportedTaskTypes() {
186188
return supportedTaskTypes;
187189
}
188190

191+
@Override
192+
protected void doUnifiedCompletionInfer(
193+
Model model,
194+
UnifiedChatInput inputs,
195+
TimeValue timeout,
196+
ActionListener<InferenceServiceResults> listener
197+
) {
198+
throwUnsupportedUnifiedCompletionOperation(NAME);
199+
}
200+
189201
@Override
190202
public void doInfer(
191203
Model model,

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/azureaistudio/AzureAiStudioService.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.elasticsearch.xpack.inference.external.http.sender.DocumentsOnlyInput;
4040
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
4141
import org.elasticsearch.xpack.inference.external.http.sender.InferenceInputs;
42+
import org.elasticsearch.xpack.inference.external.http.sender.UnifiedChatInput;
4243
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
4344
import org.elasticsearch.xpack.inference.services.SenderService;
4445
import org.elasticsearch.xpack.inference.services.ServiceComponents;
@@ -64,6 +65,7 @@
6465
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrDefaultEmpty;
6566
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrThrowIfNull;
6667
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwIfNotEmptyMap;
68+
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwUnsupportedUnifiedCompletionOperation;
6769
import static org.elasticsearch.xpack.inference.services.azureaistudio.AzureAiStudioConstants.ENDPOINT_TYPE_FIELD;
6870
import static org.elasticsearch.xpack.inference.services.azureaistudio.AzureAiStudioConstants.PROVIDER_FIELD;
6971
import static org.elasticsearch.xpack.inference.services.azureaistudio.AzureAiStudioConstants.TARGET_FIELD;
@@ -82,6 +84,16 @@ public AzureAiStudioService(HttpRequestSender.Factory factory, ServiceComponents
8284
super(factory, serviceComponents);
8385
}
8486

87+
@Override
88+
protected void doUnifiedCompletionInfer(
89+
Model model,
90+
UnifiedChatInput inputs,
91+
TimeValue timeout,
92+
ActionListener<InferenceServiceResults> listener
93+
) {
94+
throwUnsupportedUnifiedCompletionOperation(NAME);
95+
}
96+
8597
@Override
8698
protected void doInfer(
8799
Model model,

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/azureopenai/AzureOpenAiService.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.elasticsearch.xpack.inference.external.http.sender.DocumentsOnlyInput;
3939
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
4040
import org.elasticsearch.xpack.inference.external.http.sender.InferenceInputs;
41+
import org.elasticsearch.xpack.inference.external.http.sender.UnifiedChatInput;
4142
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
4243
import org.elasticsearch.xpack.inference.services.SenderService;
4344
import org.elasticsearch.xpack.inference.services.ServiceComponents;
@@ -59,6 +60,7 @@
5960
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrDefaultEmpty;
6061
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrThrowIfNull;
6162
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwIfNotEmptyMap;
63+
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwUnsupportedUnifiedCompletionOperation;
6264
import static org.elasticsearch.xpack.inference.services.azureopenai.AzureOpenAiServiceFields.API_VERSION;
6365
import static org.elasticsearch.xpack.inference.services.azureopenai.AzureOpenAiServiceFields.DEPLOYMENT_ID;
6466
import static org.elasticsearch.xpack.inference.services.azureopenai.AzureOpenAiServiceFields.RESOURCE_NAME;
@@ -234,6 +236,16 @@ public EnumSet<TaskType> supportedTaskTypes() {
234236
return supportedTaskTypes;
235237
}
236238

239+
@Override
240+
protected void doUnifiedCompletionInfer(
241+
Model model,
242+
UnifiedChatInput inputs,
243+
TimeValue timeout,
244+
ActionListener<InferenceServiceResults> listener
245+
) {
246+
throwUnsupportedUnifiedCompletionOperation(NAME);
247+
}
248+
237249
@Override
238250
protected void doInfer(
239251
Model model,

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/cohere/CohereService.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.elasticsearch.xpack.inference.external.http.sender.DocumentsOnlyInput;
3636
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
3737
import org.elasticsearch.xpack.inference.external.http.sender.InferenceInputs;
38+
import org.elasticsearch.xpack.inference.external.http.sender.UnifiedChatInput;
3839
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
3940
import org.elasticsearch.xpack.inference.services.SenderService;
4041
import org.elasticsearch.xpack.inference.services.ServiceComponents;
@@ -58,6 +59,7 @@
5859
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrDefaultEmpty;
5960
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrThrowIfNull;
6061
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwIfNotEmptyMap;
62+
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwUnsupportedUnifiedCompletionOperation;
6163
import static org.elasticsearch.xpack.inference.services.cohere.CohereServiceFields.EMBEDDING_MAX_BATCH_SIZE;
6264

6365
public class CohereService extends SenderService {
@@ -232,6 +234,16 @@ public EnumSet<TaskType> supportedTaskTypes() {
232234
return supportedTaskTypes;
233235
}
234236

237+
@Override
238+
protected void doUnifiedCompletionInfer(
239+
Model model,
240+
UnifiedChatInput inputs,
241+
TimeValue timeout,
242+
ActionListener<InferenceServiceResults> listener
243+
) {
244+
throwUnsupportedUnifiedCompletionOperation(NAME);
245+
}
246+
235247
@Override
236248
public void doInfer(
237249
Model model,

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.elasticsearch.xpack.inference.external.http.sender.DocumentsOnlyInput;
4040
import org.elasticsearch.xpack.inference.external.http.sender.HttpRequestSender;
4141
import org.elasticsearch.xpack.inference.external.http.sender.InferenceInputs;
42+
import org.elasticsearch.xpack.inference.external.http.sender.UnifiedChatInput;
4243
import org.elasticsearch.xpack.inference.services.ConfigurationParseContext;
4344
import org.elasticsearch.xpack.inference.services.SenderService;
4445
import org.elasticsearch.xpack.inference.services.ServiceComponents;
@@ -58,6 +59,7 @@
5859
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrDefaultEmpty;
5960
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrThrowIfNull;
6061
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwIfNotEmptyMap;
62+
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwUnsupportedUnifiedCompletionOperation;
6163

6264
public class ElasticInferenceService extends SenderService {
6365

@@ -76,6 +78,16 @@ public ElasticInferenceService(
7678
this.elasticInferenceServiceComponents = eisComponents;
7779
}
7880

81+
@Override
82+
protected void doUnifiedCompletionInfer(
83+
Model model,
84+
UnifiedChatInput inputs,
85+
TimeValue timeout,
86+
ActionListener<InferenceServiceResults> listener
87+
) {
88+
throwUnsupportedUnifiedCompletionOperation(NAME);
89+
}
90+
7991
@Override
8092
protected void doInfer(
8193
Model model,

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import org.elasticsearch.inference.SettingsConfiguration;
3333
import org.elasticsearch.inference.TaskSettingsConfiguration;
3434
import org.elasticsearch.inference.TaskType;
35+
import org.elasticsearch.inference.UnifiedCompletionRequest;
3536
import org.elasticsearch.inference.configuration.SettingsConfigurationDisplayType;
3637
import org.elasticsearch.inference.configuration.SettingsConfigurationFieldType;
3738
import org.elasticsearch.inference.configuration.SettingsConfigurationSelectOption;
@@ -78,6 +79,7 @@
7879
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrDefaultEmpty;
7980
import static org.elasticsearch.xpack.inference.services.ServiceUtils.removeFromMapOrThrowIfNull;
8081
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwIfNotEmptyMap;
82+
import static org.elasticsearch.xpack.inference.services.ServiceUtils.throwUnsupportedUnifiedCompletionOperation;
8183
import static org.elasticsearch.xpack.inference.services.elasticsearch.ElasticsearchInternalServiceSettings.MODEL_ID;
8284
import static org.elasticsearch.xpack.inference.services.elasticsearch.ElasticsearchInternalServiceSettings.NUM_ALLOCATIONS;
8385
import static org.elasticsearch.xpack.inference.services.elasticsearch.ElasticsearchInternalServiceSettings.NUM_THREADS;
@@ -541,6 +543,16 @@ private static CustomElandEmbeddingModel updateModelWithEmbeddingDetails(CustomE
541543
);
542544
}
543545

546+
@Override
547+
public void unifiedCompletionInfer(
548+
Model model,
549+
UnifiedCompletionRequest request,
550+
TimeValue timeout,
551+
ActionListener<InferenceServiceResults> listener
552+
) {
553+
throwUnsupportedUnifiedCompletionOperation(NAME);
554+
}
555+
544556
@Override
545557
public void infer(
546558
Model model,

0 commit comments

Comments
 (0)