Skip to content

Commit 89ab257

Browse files
Removing url and adding cause REST api response (#123638) (#123710)
(cherry picked from commit 4dcc81f) # Conflicts: # x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/voyageai/VoyageAIActionCreator.java # x-pack/plugin/inference/src/test/java/org/elasticsearch/xpack/inference/external/action/voyageai/VoyageAIEmbeddingsActionTests.java
1 parent 0903810 commit 89ab257

File tree

36 files changed

+118
-204
lines changed

36 files changed

+118
-204
lines changed

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/ActionUtils.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,9 @@
1212
import org.elasticsearch.ExceptionsHelper;
1313
import org.elasticsearch.action.ActionListener;
1414
import org.elasticsearch.common.Strings;
15-
import org.elasticsearch.core.Nullable;
1615
import org.elasticsearch.inference.InferenceServiceResults;
1716
import org.elasticsearch.rest.RestStatus;
1817

19-
import java.net.URI;
20-
2118
public class ActionUtils {
2219

2320
public static ActionListener<InferenceServiceResults> wrapFailuresInElasticsearchException(
@@ -30,7 +27,12 @@ public static ActionListener<InferenceServiceResults> wrapFailuresInElasticsearc
3027
if (unwrappedException instanceof ElasticsearchException esException) {
3128
l.onFailure(esException);
3229
} else {
33-
l.onFailure(createInternalServerError(unwrappedException, errorMessage));
30+
l.onFailure(
31+
createInternalServerError(
32+
unwrappedException,
33+
Strings.format("%s. Cause: %s", errorMessage, unwrappedException.getMessage())
34+
)
35+
);
3436
}
3537
});
3638
}
@@ -39,11 +41,7 @@ public static ElasticsearchStatusException createInternalServerError(Throwable e
3941
return new ElasticsearchStatusException(message, RestStatus.INTERNAL_SERVER_ERROR, e);
4042
}
4143

42-
public static String constructFailedToSendRequestMessage(@Nullable URI uri, String message) {
43-
if (uri != null) {
44-
return Strings.format("Failed to send %s request to [%s]", message, uri);
45-
}
46-
44+
public static String constructFailedToSendRequestMessage(String message) {
4745
return Strings.format("Failed to send %s request", message);
4846
}
4947

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/alibabacloudsearch/AlibabaCloudSearchCompletionAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public AlibabaCloudSearchCompletionAction(Sender sender, AlibabaCloudSearchCompl
4545
this.model = Objects.requireNonNull(model);
4646
this.sender = Objects.requireNonNull(sender);
4747
this.account = new AlibabaCloudSearchAccount(this.model.getSecretSettings().apiKey());
48-
this.failedToSendRequestErrorMessage = constructFailedToSendRequestMessage(null, "AlibabaCloud Search completion");
48+
this.failedToSendRequestErrorMessage = constructFailedToSendRequestMessage("AlibabaCloud Search completion");
4949
this.requestCreator = AlibabaCloudSearchCompletionRequestManager.of(account, model, serviceComponents.threadPool());
5050
}
5151

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/alibabacloudsearch/AlibabaCloudSearchEmbeddingsAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public AlibabaCloudSearchEmbeddingsAction(Sender sender, AlibabaCloudSearchEmbed
3636
this.model = Objects.requireNonNull(model);
3737
this.sender = Objects.requireNonNull(sender);
3838
this.account = new AlibabaCloudSearchAccount(this.model.getSecretSettings().apiKey());
39-
this.failedToSendRequestErrorMessage = constructFailedToSendRequestMessage(null, "AlibabaCloud Search text embeddings");
39+
this.failedToSendRequestErrorMessage = constructFailedToSendRequestMessage("AlibabaCloud Search text embeddings");
4040
this.requestCreator = AlibabaCloudSearchEmbeddingsRequestManager.of(account, model, serviceComponents.threadPool());
4141
}
4242

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/alibabacloudsearch/AlibabaCloudSearchRerankAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class AlibabaCloudSearchRerankAction implements ExecutableAction {
3939
public AlibabaCloudSearchRerankAction(Sender sender, AlibabaCloudSearchRerankModel model, ServiceComponents serviceComponents) {
4040
this.model = Objects.requireNonNull(model);
4141
this.account = new AlibabaCloudSearchAccount(this.model.getSecretSettings().apiKey());
42-
this.failedToSendRequestErrorMessage = constructFailedToSendRequestMessage(null, "AlibabaCloud Search rerank");
42+
this.failedToSendRequestErrorMessage = constructFailedToSendRequestMessage("AlibabaCloud Search rerank");
4343
this.sender = Objects.requireNonNull(sender);
4444
this.requestCreator = AlibabaCloudSearchRerankRequestManager.of(account, model, serviceComponents.threadPool());
4545
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/alibabacloudsearch/AlibabaCloudSearchSparseAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class AlibabaCloudSearchSparseAction implements ExecutableAction {
3939
public AlibabaCloudSearchSparseAction(Sender sender, AlibabaCloudSearchSparseModel model, ServiceComponents serviceComponents) {
4040
this.model = Objects.requireNonNull(model);
4141
this.account = new AlibabaCloudSearchAccount(this.model.getSecretSettings().apiKey());
42-
this.failedToSendRequestErrorMessage = constructFailedToSendRequestMessage(null, "AlibabaCloud Search sparse embeddings");
42+
this.failedToSendRequestErrorMessage = constructFailedToSendRequestMessage("AlibabaCloud Search sparse embeddings");
4343
this.sender = Objects.requireNonNull(sender);
4444
requestCreator = AlibabaCloudSearchSparseRequestManager.of(account, model, serviceComponents.threadPool());
4545
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/amazonbedrock/AmazonBedrockActionCreator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ public ExecutableAction create(AmazonBedrockEmbeddingsModel embeddingsModel, Map
4343
serviceComponents.threadPool(),
4444
timeout
4545
);
46-
var errorMessage = constructFailedToSendRequestMessage(null, "Amazon Bedrock embeddings");
46+
var errorMessage = constructFailedToSendRequestMessage("Amazon Bedrock embeddings");
4747
return new SenderExecutableAction(sender, requestManager, errorMessage);
4848
}
4949

5050
@Override
5151
public ExecutableAction create(AmazonBedrockChatCompletionModel completionModel, Map<String, Object> taskSettings) {
5252
var overriddenModel = AmazonBedrockChatCompletionModel.of(completionModel, taskSettings);
5353
var requestManager = new AmazonBedrockChatCompletionRequestManager(overriddenModel, serviceComponents.threadPool(), timeout);
54-
var errorMessage = constructFailedToSendRequestMessage(null, "Amazon Bedrock completion");
54+
var errorMessage = constructFailedToSendRequestMessage("Amazon Bedrock completion");
5555
return new SenderExecutableAction(sender, requestManager, errorMessage);
5656
}
5757
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/anthropic/AnthropicActionCreator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public AnthropicActionCreator(Sender sender, ServiceComponents serviceComponents
3636
public ExecutableAction create(AnthropicChatCompletionModel model, Map<String, Object> taskSettings) {
3737
var overriddenModel = AnthropicChatCompletionModel.of(model, taskSettings);
3838
var requestCreator = AnthropicCompletionRequestManager.of(overriddenModel, serviceComponents.threadPool());
39-
var errorMessage = constructFailedToSendRequestMessage(overriddenModel.getUri(), ERROR_PREFIX);
39+
var errorMessage = constructFailedToSendRequestMessage(ERROR_PREFIX);
4040
return new SingleInputSenderExecutableAction(sender, requestCreator, errorMessage, ERROR_PREFIX);
4141
}
4242
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/azureaistudio/AzureAiStudioActionCreator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public AzureAiStudioActionCreator(Sender sender, ServiceComponents serviceCompon
3434
public ExecutableAction create(AzureAiStudioChatCompletionModel completionModel, Map<String, Object> taskSettings) {
3535
var overriddenModel = AzureAiStudioChatCompletionModel.of(completionModel, taskSettings);
3636
var requestManager = new AzureAiStudioChatCompletionRequestManager(overriddenModel, serviceComponents.threadPool());
37-
var errorMessage = constructFailedToSendRequestMessage(completionModel.uri(), "Azure AI Studio completion");
37+
var errorMessage = constructFailedToSendRequestMessage("Azure AI Studio completion");
3838
return new SenderExecutableAction(sender, requestManager, errorMessage);
3939
}
4040

@@ -46,7 +46,7 @@ public ExecutableAction create(AzureAiStudioEmbeddingsModel embeddingsModel, Map
4646
serviceComponents.truncator(),
4747
serviceComponents.threadPool()
4848
);
49-
var errorMessage = constructFailedToSendRequestMessage(embeddingsModel.uri(), "Azure AI Studio embeddings");
49+
var errorMessage = constructFailedToSendRequestMessage("Azure AI Studio embeddings");
5050
return new SenderExecutableAction(sender, requestManager, errorMessage);
5151
}
5252
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/azureopenai/AzureOpenAiActionCreator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ public ExecutableAction create(AzureOpenAiEmbeddingsModel model, Map<String, Obj
4343
serviceComponents.truncator(),
4444
serviceComponents.threadPool()
4545
);
46-
var errorMessage = constructFailedToSendRequestMessage(overriddenModel.getUri(), "Azure OpenAI embeddings");
46+
var errorMessage = constructFailedToSendRequestMessage("Azure OpenAI embeddings");
4747
return new SenderExecutableAction(sender, requestCreator, errorMessage);
4848
}
4949

5050
@Override
5151
public ExecutableAction create(AzureOpenAiCompletionModel model, Map<String, Object> taskSettings) {
5252
var overriddenModel = AzureOpenAiCompletionModel.of(model, taskSettings);
5353
var requestCreator = new AzureOpenAiCompletionRequestManager(overriddenModel, serviceComponents.threadPool());
54-
var errorMessage = constructFailedToSendRequestMessage(overriddenModel.getUri(), COMPLETION_ERROR_PREFIX);
54+
var errorMessage = constructFailedToSendRequestMessage(COMPLETION_ERROR_PREFIX);
5555
return new SingleInputSenderExecutableAction(sender, requestCreator, errorMessage, COMPLETION_ERROR_PREFIX);
5656
}
5757
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/action/cohere/CohereActionCreator.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,7 @@ public CohereActionCreator(Sender sender, ServiceComponents serviceComponents) {
4242
@Override
4343
public ExecutableAction create(CohereEmbeddingsModel model, Map<String, Object> taskSettings, InputType inputType) {
4444
var overriddenModel = CohereEmbeddingsModel.of(model, taskSettings, inputType);
45-
var failedToSendRequestErrorMessage = constructFailedToSendRequestMessage(
46-
overriddenModel.getServiceSettings().getCommonSettings().uri(),
47-
"Cohere embeddings"
48-
);
45+
var failedToSendRequestErrorMessage = constructFailedToSendRequestMessage("Cohere embeddings");
4946
// TODO - Batching pass the batching class on to the CohereEmbeddingsRequestManager
5047
var requestCreator = CohereEmbeddingsRequestManager.of(overriddenModel, serviceComponents.threadPool());
5148
return new SenderExecutableAction(sender, requestCreator, failedToSendRequestErrorMessage);
@@ -55,21 +52,15 @@ public ExecutableAction create(CohereEmbeddingsModel model, Map<String, Object>
5552
public ExecutableAction create(CohereRerankModel model, Map<String, Object> taskSettings) {
5653
var overriddenModel = CohereRerankModel.of(model, taskSettings);
5754
var requestCreator = CohereRerankRequestManager.of(overriddenModel, serviceComponents.threadPool());
58-
var failedToSendRequestErrorMessage = constructFailedToSendRequestMessage(
59-
overriddenModel.getServiceSettings().uri(),
60-
"Cohere rerank"
61-
);
55+
var failedToSendRequestErrorMessage = constructFailedToSendRequestMessage("Cohere rerank");
6256
return new SenderExecutableAction(sender, requestCreator, failedToSendRequestErrorMessage);
6357
}
6458

6559
@Override
6660
public ExecutableAction create(CohereCompletionModel model, Map<String, Object> taskSettings) {
6761
// no overridden model as task settings are always empty for cohere completion model
6862
var requestManager = CohereCompletionRequestManager.of(model, serviceComponents.threadPool());
69-
var failedToSendRequestErrorMessage = constructFailedToSendRequestMessage(
70-
model.getServiceSettings().uri(),
71-
COMPLETION_ERROR_PREFIX
72-
);
63+
var failedToSendRequestErrorMessage = constructFailedToSendRequestMessage(COMPLETION_ERROR_PREFIX);
7364
return new SingleInputSenderExecutableAction(sender, requestManager, failedToSendRequestErrorMessage, COMPLETION_ERROR_PREFIX);
7465
}
7566
}

0 commit comments

Comments
 (0)