Skip to content

Commit 952953a

Browse files
Merge pull request #3 from jonathan-buttner/ml-fix-unified-switch-case-usage
fixing switch with class issue
2 parents ec5a91b + 7a81b24 commit 952953a

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.elasticsearch.action.support.ActionFilters;
1313
import org.elasticsearch.inference.InferenceService;
1414
import org.elasticsearch.inference.InferenceServiceRegistry;
15-
import org.elasticsearch.inference.InferenceServiceResults;
1615
import org.elasticsearch.inference.Model;
1716
import org.elasticsearch.inference.UnparsedModel;
1817
import org.elasticsearch.injection.guice.Inject;

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/request/openai/OpenAiUnifiedChatCompletionRequestEntity.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,21 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
6666
for (UnifiedCompletionRequest.Message message : unifiedRequest.messages()) {
6767
builder.startObject();
6868
{
69-
switch (message.content()) {
70-
case UnifiedCompletionRequest.ContentString contentString -> builder.field(CONTENT_FIELD, contentString.content());
71-
case UnifiedCompletionRequest.ContentObjects contentObjects -> {
72-
builder.startArray(CONTENT_FIELD);
73-
for (UnifiedCompletionRequest.ContentObject contentObject : contentObjects.contentObjects()) {
74-
builder.startObject();
75-
builder.field(TEXT_FIELD, contentObject.text());
76-
builder.field(TYPE_FIELD, contentObject.type());
77-
builder.endObject();
78-
}
79-
builder.endArray();
69+
if (message.content() instanceof UnifiedCompletionRequest.ContentString contentString) {
70+
builder.field(CONTENT_FIELD, contentString.content());
71+
} else if (message.content() instanceof UnifiedCompletionRequest.ContentObjects contentObjects) {
72+
builder.startArray(CONTENT_FIELD);
73+
for (UnifiedCompletionRequest.ContentObject contentObject : contentObjects.contentObjects()) {
74+
builder.startObject();
75+
builder.field(TEXT_FIELD, contentObject.text());
76+
builder.field(TYPE_FIELD, contentObject.type());
77+
builder.endObject();
8078
}
79+
builder.endArray();
80+
} else {
81+
throw new IllegalArgumentException(
82+
Strings.format("Unsupported message.content class received: %s", message.content().getClass().getSimpleName())
83+
);
8184
}
8285

8386
builder.field(ROLE_FIELD, message.role());

0 commit comments

Comments
 (0)