Skip to content

Commit 2660ecb

Browse files
Working tool call response
1 parent 97b330f commit 2660ecb

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

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

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ private Iterator<StreamingChatCompletionResults.Result> parse(XContentParserConf
145145
return Collections.emptyIterator();
146146
}
147147

148+
System.out.println(event.value());
148149
try (XContentParser jsonParser = XContentFactory.xContent(XContentType.JSON).createParser(parserConfig, event.value())) {
149150
moveToFirstToken(jsonParser);
150151

@@ -178,13 +179,17 @@ private Iterator<StreamingChatCompletionResults.Result> parse(XContentParserConf
178179
switch (parser.currentName()) {
179180
case CONTENT_FIELD:
180181
parser.nextToken();
181-
ensureExpectedToken(XContentParser.Token.VALUE_STRING, parser.currentToken(), parser);
182-
content = parser.text();
182+
if (parser.currentToken() == XContentParser.Token.VALUE_STRING) {
183+
content = parser.text();
184+
}
185+
// ensureExpectedToken(XContentParser.Token.VALUE_STRING, parser.currentToken(), parser);
183186
break;
184187
case REFUSAL_FIELD:
185188
parser.nextToken();
186-
ensureExpectedToken(XContentParser.Token.VALUE_STRING, parser.currentToken(), parser);
187-
refusal = parser.text();
189+
if (parser.currentToken() == XContentParser.Token.VALUE_STRING) {
190+
refusal = parser.text();
191+
}
192+
// ensureExpectedToken(XContentParser.Token.VALUE_STRING, parser.currentToken(), parser);
188193
break;
189194
case TOOL_CALLS_FIELD:
190195
parser.nextToken();
@@ -197,7 +202,7 @@ private Iterator<StreamingChatCompletionResults.Result> parse(XContentParserConf
197202
currentToken = parser.nextToken();
198203
}
199204

200-
consumeUntilObjectEnd(parser); // end delta
205+
// consumeUntilObjectEnd(parser); // end delta
201206
consumeUntilObjectEnd(parser); // end choices
202207

203208
return new StreamingChatCompletionResults.Result(content, refusal, toolCalls);

0 commit comments

Comments
 (0)