From 803d0045015547715dec2577c8bb343d28098445 Mon Sep 17 00:00:00 2001 From: gewuyou Date: Sun, 11 May 2025 22:44:00 +0800 Subject: [PATCH] =?UTF-8?q?refactor(llmx-impl-openai):=20=E9=87=8D?= =?UTF-8?q?=E6=9E=84=20OpenAI=20=E6=A8=A1=E5=9E=8B=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=92=8C=E5=93=8D=E5=BA=94=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 优化 OpenAiModelServiceImpl 中的 JSON 解析逻辑 - 修改 SseEvent 数据类,将 data 字段改为 response - 调整响应处理逻辑,以适应新的数据结构 --- .../openai/config/service/impl/OpenAiModelServiceImpl.kt | 9 +++++---- .../response/OpenAiMultimodalityChatReposponse.kt | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/llmx-impl/llmx-impl-openai/src/main/kotlin/org/jcnc/llmx/impl/openai/config/service/impl/OpenAiModelServiceImpl.kt b/llmx-impl/llmx-impl-openai/src/main/kotlin/org/jcnc/llmx/impl/openai/config/service/impl/OpenAiModelServiceImpl.kt index 33c1cdb..ec32f50 100644 --- a/llmx-impl/llmx-impl-openai/src/main/kotlin/org/jcnc/llmx/impl/openai/config/service/impl/OpenAiModelServiceImpl.kt +++ b/llmx-impl/llmx-impl-openai/src/main/kotlin/org/jcnc/llmx/impl/openai/config/service/impl/OpenAiModelServiceImpl.kt @@ -54,19 +54,20 @@ class OpenAiModelServiceImpl( extractContent = { json -> val node = objectMapper.readTree(json) val type = node["type"]?.asText() - + val response = node["response"] + val data = response ?: node when (type) { "response.output_text.delta" -> { - val outputTextDelta = objectMapper.treeToValue(node, OutputTextDelta::class.java) + val outputTextDelta = objectMapper.treeToValue(data, OutputTextDelta::class.java) ChatResponsePart(content = outputTextDelta.delta) } "response.output_text.done" -> { - val outputTextDone = objectMapper.treeToValue(node, OutputTextDone::class.java) + val outputTextDone = objectMapper.treeToValue(data, OutputTextDone::class.java) ChatResponsePart(content = outputTextDone.text, done = true) } "response.completed" -> { - val completed = objectMapper.treeToValue(node, FullResponse::class.java) + val completed = objectMapper.treeToValue(data, FullResponse::class.java) val usage = completed.usage?.let { Usage( promptTokens = it.inputTokens ?: 0, diff --git a/llmx-impl/llmx-impl-openai/src/main/kotlin/org/jcnc/llmx/impl/openai/entities/response/OpenAiMultimodalityChatReposponse.kt b/llmx-impl/llmx-impl-openai/src/main/kotlin/org/jcnc/llmx/impl/openai/entities/response/OpenAiMultimodalityChatReposponse.kt index c36371a..4cfcc7a 100644 --- a/llmx-impl/llmx-impl-openai/src/main/kotlin/org/jcnc/llmx/impl/openai/entities/response/OpenAiMultimodalityChatReposponse.kt +++ b/llmx-impl/llmx-impl-openai/src/main/kotlin/org/jcnc/llmx/impl/openai/entities/response/OpenAiMultimodalityChatReposponse.kt @@ -6,8 +6,8 @@ import com.fasterxml.jackson.annotation.JsonProperty data class SseEvent( @JsonProperty("type") val type: String, - @JsonProperty("data") - val data: T + @JsonProperty("response") + val response: T ) /** response.created, response.in_progress, response.completed 共用结构 */ -- 2.47.2