Skip to content

Commit be3a459

Browse files
author
Max Hniebergall
committed
Avoid serializing empty lists + request entity tests
1 parent e47cb9c commit be3a459

File tree

2 files changed

+861
-3
lines changed

2 files changed

+861
-3
lines changed

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,14 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
6969
switch (message.content()) {
7070
case UnifiedCompletionRequest.ContentString contentString -> builder.field(CONTENT_FIELD, contentString.content());
7171
case UnifiedCompletionRequest.ContentObjects contentObjects -> {
72+
builder.startArray(CONTENT_FIELD);
7273
for (UnifiedCompletionRequest.ContentObject contentObject : contentObjects.contentObjects()) {
73-
builder.startObject(CONTENT_FIELD);
74+
builder.startObject();
7475
builder.field(TEXT_FIELD, contentObject.text());
7576
builder.field(TYPE_FIELD, contentObject.type());
7677
builder.endObject();
7778
}
79+
builder.endArray();
7880
}
7981
}
8082

@@ -116,7 +118,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
116118

117119
builder.field(NUMBER_OF_RETURNED_CHOICES_FIELD, 1);
118120

119-
if (unifiedRequest.stop() != null) {
121+
if (unifiedRequest.stop() != null && unifiedRequest.stop().isEmpty() == false) {
120122
builder.field(STOP_FIELD, unifiedRequest.stop());
121123
}
122124
if (unifiedRequest.temperature() != null) {
@@ -141,7 +143,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
141143
builder.endObject();
142144
}
143145
}
144-
if (unifiedRequest.tools() != null) {
146+
if (unifiedRequest.tools() != null && unifiedRequest.tools().isEmpty() == false) {
145147
builder.startArray(TOOL_FIELD);
146148
for (UnifiedCompletionRequest.Tool t : unifiedRequest.tools()) {
147149
builder.startObject();

0 commit comments

Comments
 (0)