refactor(llmx-impl-openai): 重构 OpenAI 模型服务和响应处理
All checks were successful
CI/CD Pipeline / build-and-deploy (push) Successful in 3m54s

- 优化 OpenAiModelServiceImpl 中的 JSON 解析逻辑
- 修改 SseEvent 数据类,将 data 字段改为 response
- 调整响应处理逻辑,以适应新的数据结构
This commit is contained in:
gewuyou 2025-05-11 22:44:00 +08:00
parent 5da978ab4d
commit 803d004501
2 changed files with 7 additions and 6 deletions

View File

@ -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,

View File

@ -6,8 +6,8 @@ import com.fasterxml.jackson.annotation.JsonProperty
data class SseEvent<T>(
@JsonProperty("type")
val type: String,
@JsonProperty("data")
val data: T
@JsonProperty("response")
val response: T
)
/** response.created, response.in_progress, response.completed 共用结构 */