Skip to content

Commit eb60dfa

Browse files
Refactor Mistral action classes to remove taskSettings parameter and streamline action creation
1 parent c2621e7 commit eb60dfa

File tree

6 files changed

+15
-15
lines changed

6 files changed

+15
-15
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
import org.elasticsearch.inference.ModelConfigurations;
1111
import org.elasticsearch.inference.ModelSecrets;
1212
import org.elasticsearch.inference.ServiceSettings;
13+
import org.elasticsearch.xpack.inference.external.action.ExecutableAction;
1314
import org.elasticsearch.xpack.inference.services.RateLimitGroupingModel;
15+
import org.elasticsearch.xpack.inference.services.mistral.action.MistralActionVisitor;
1416
import org.elasticsearch.xpack.inference.services.settings.DefaultSecretSettings;
1517
import org.elasticsearch.xpack.inference.services.settings.RateLimitSettings;
1618

@@ -61,4 +63,6 @@ public void setURI(String newUri) {
6163
public DefaultSecretSettings getSecretSettings() {
6264
return (DefaultSecretSettings) super.getSecretSettings();
6365
}
66+
67+
public abstract ExecutableAction accept(MistralActionVisitor creator);
6468
}

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

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,8 @@ protected void doInfer(
9898
) {
9999
var actionCreator = new MistralActionCreator(getSender(), getServiceComponents());
100100

101-
if (model instanceof MistralEmbeddingsModel mistralEmbeddingsModel) {
102-
mistralEmbeddingsModel.accept(actionCreator, taskSettings).execute(inputs, timeout, listener);
103-
} else if (model instanceof MistralChatCompletionModel mistralChatCompletionModel) {
104-
mistralChatCompletionModel.accept(actionCreator).execute(inputs, timeout, listener);
101+
if (model instanceof MistralModel mistralModel) {
102+
mistralModel.accept(actionCreator).execute(inputs, timeout, listener);
105103
} else {
106104
listener.onFailure(createInvalidModelException(model));
107105
}
@@ -158,7 +156,7 @@ protected void doChunkedInfer(
158156
).batchRequestsWithListeners(listener);
159157

160158
for (var request : batchedRequests) {
161-
var action = mistralEmbeddingsModel.accept(actionCreator, taskSettings);
159+
var action = mistralEmbeddingsModel.accept(actionCreator);
162160
action.execute(EmbeddingsInput.fromStrings(request.batch().inputs().get(), inputType), timeout, request.listener());
163161
}
164162
} else {
@@ -355,10 +353,10 @@ public MistralEmbeddingsModel updateModelWithEmbeddingDetails(Model model, int e
355353
*/
356354
public static class Configuration {
357355
public static InferenceServiceConfiguration get() {
358-
return configuration.getOrCompute();
356+
return CONFIGURATION.getOrCompute();
359357
}
360358

361-
private static final LazyInitializable<InferenceServiceConfiguration, RuntimeException> configuration = new LazyInitializable<>(
359+
private static final LazyInitializable<InferenceServiceConfiguration, RuntimeException> CONFIGURATION = new LazyInitializable<>(
362360
() -> {
363361
var configurationMap = new HashMap<String, SettingsConfiguration>();
364362

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/mistral/action/MistralActionCreator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.elasticsearch.xpack.inference.services.mistral.request.completion.MistralChatCompletionRequest;
2525
import org.elasticsearch.xpack.inference.services.openai.response.OpenAiChatCompletionResponseEntity;
2626

27-
import java.util.Map;
2827
import java.util.Objects;
2928

3029
import static org.elasticsearch.core.Strings.format;
@@ -51,7 +50,7 @@ public MistralActionCreator(Sender sender, ServiceComponents serviceComponents)
5150
}
5251

5352
@Override
54-
public ExecutableAction create(MistralEmbeddingsModel embeddingsModel, Map<String, Object> taskSettings) {
53+
public ExecutableAction create(MistralEmbeddingsModel embeddingsModel) {
5554
var requestManager = new MistralEmbeddingsRequestManager(
5655
embeddingsModel,
5756
serviceComponents.truncator(),

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/mistral/action/MistralActionVisitor.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
import org.elasticsearch.xpack.inference.services.mistral.completion.MistralChatCompletionModel;
1212
import org.elasticsearch.xpack.inference.services.mistral.embeddings.MistralEmbeddingsModel;
1313

14-
import java.util.Map;
15-
1614
/**
1715
* Interface for creating {@link ExecutableAction} instances for Mistral models.
1816
* <p>
@@ -25,10 +23,9 @@ public interface MistralActionVisitor {
2523
* Creates an {@link ExecutableAction} for the given {@link MistralEmbeddingsModel}.
2624
*
2725
* @param embeddingsModel The model to create the action for.
28-
* @param taskSettings The task settings to use.
2926
* @return An {@link ExecutableAction} for the given model.
3027
*/
31-
ExecutableAction create(MistralEmbeddingsModel embeddingsModel, Map<String, Object> taskSettings);
28+
ExecutableAction create(MistralEmbeddingsModel embeddingsModel);
3229

3330
/**
3431
* Creates an {@link ExecutableAction} for the given {@link MistralChatCompletionModel}.

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/mistral/completion/MistralChatCompletionModel.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ public MistralChatCompletionServiceSettings getServiceSettings() {
124124
* @param creator The visitor that creates the executable action.
125125
* @return An ExecutableAction that can be executed.
126126
*/
127+
@Override
127128
public ExecutableAction accept(MistralActionVisitor creator) {
128129
return creator.create(this);
129130
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/services/mistral/embeddings/MistralEmbeddingsModel.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ public MistralEmbeddingsServiceSettings getServiceSettings() {
9292
return (MistralEmbeddingsServiceSettings) super.getServiceSettings();
9393
}
9494

95-
public ExecutableAction accept(MistralActionVisitor creator, Map<String, Object> taskSettings) {
96-
return creator.create(this, taskSettings);
95+
@Override
96+
public ExecutableAction accept(MistralActionVisitor creator) {
97+
return creator.create(this);
9798
}
9899
}

0 commit comments

Comments
 (0)