refactor(llmx-impl-openai): 重构 OpenAI 模型服务和响应处理 #51
| @ -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, | ||||
|  | ||||
| @ -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 共用结构 */ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user