Skip to content

Commit 8fbdb9e

Browse files
Merge branch 'ml-inference-unified-api-elastic' of github.com:elastic/elasticsearch into ml-inference-unified-api-elastic
2 parents c1e4ba1 + e40e41e commit 8fbdb9e

File tree

3 files changed

+869
-3
lines changed

3 files changed

+869
-3
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.elasticsearch.inference.SecretSettings;
1717
import org.elasticsearch.inference.ServiceSettings;
1818
import org.elasticsearch.inference.TaskSettings;
19+
import org.elasticsearch.inference.UnifiedCompletionRequest;
1920
import org.elasticsearch.xpack.core.inference.results.ChatCompletionResults;
2021
import org.elasticsearch.xpack.core.inference.results.ErrorChunkedInferenceResults;
2122
import org.elasticsearch.xpack.core.inference.results.InferenceChunkedSparseEmbeddingResults;
@@ -137,11 +138,18 @@ public static List<NamedWriteableRegistry.Entry> getNamedWriteables() {
137138
addEisNamedWriteables(namedWriteables);
138139
addAlibabaCloudSearchNamedWriteables(namedWriteables);
139140

141+
addUnifiedNamedWriteables(namedWriteables);
142+
140143
namedWriteables.addAll(StreamingTaskManager.namedWriteables());
141144

142145
return namedWriteables;
143146
}
144147

148+
private static void addUnifiedNamedWriteables(List<NamedWriteableRegistry.Entry> namedWriteables) {
149+
var writeables = UnifiedCompletionRequest.getNamedWriteables();
150+
namedWriteables.addAll(writeables);
151+
}
152+
145153
private static void addAmazonBedrockNamedWriteables(List<NamedWriteableRegistry.Entry> namedWriteables) {
146154
namedWriteables.add(
147155
new NamedWriteableRegistry.Entry(

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)