From 0164b5dcf9628a4faadbedd0ab407d0b860ba211 Mon Sep 17 00:00:00 2001 From: shown Date: Mon, 17 Mar 2025 23:51:10 +0800 Subject: [PATCH] optimize: OpenAI chat model code cleanup (#2483) * optimize: use already defined variables Signed-off-by: yuluo-yx --- .../org/springframework/ai/openai/OpenAiChatModel.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatModel.java b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatModel.java index 75ee33eb9..2b6fba9ef 100644 --- a/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatModel.java +++ b/models/spring-ai-openai/src/main/java/org/springframework/ai/openai/OpenAiChatModel.java @@ -196,26 +196,26 @@ public class OpenAiChatModel implements ChatModel { return new ChatResponse(List.of()); } - List generations = choices.stream().map(choice -> { // @formatter:off + List generations = choices.stream().map(choice -> { Map metadata = Map.of( "id", chatCompletion.id() != null ? chatCompletion.id() : "", "role", choice.message().role() != null ? choice.message().role().name() : "", "index", choice.index(), "finishReason", choice.finishReason() != null ? choice.finishReason().name() : "", "refusal", StringUtils.hasText(choice.message().refusal()) ? choice.message().refusal() : ""); - // @formatter:on return buildGeneration(choice, metadata, request); }).toList(); + // @formatter:on RateLimit rateLimit = OpenAiResponseHeaderExtractor.extractAiResponseHeaders(completionEntity); // Current usage - OpenAiApi.Usage usage = completionEntity.getBody().usage(); + OpenAiApi.Usage usage = chatCompletion.usage(); Usage currentChatResponseUsage = usage != null ? getDefaultUsage(usage) : new EmptyUsage(); Usage accumulatedUsage = UsageUtils.getCumulativeUsage(currentChatResponseUsage, previousChatResponse); ChatResponse chatResponse = new ChatResponse(generations, - from(completionEntity.getBody(), rateLimit, accumulatedUsage)); + from(chatCompletion, rateLimit, accumulatedUsage)); observationContext.setResponse(chatResponse);