Skip to content

Commit 4579dea

Browse files
ForteScarletralla0405
authored andcommitted
Addressing the NPE risk in AnthropicChatModel#getDefaultUsage
When either `usage.inputTokens` or `usage.outputTokens()` is null, `usage.inputTokens() + usage.outputTokens()` will throw an NPE. Signed-off-by: Forte Scarlet <[email protected]> Signed-off-by: logan-mac <[email protected]>
1 parent d674057 commit 4579dea

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

models/spring-ai-anthropic/src/main/java/org/springframework/ai/anthropic/AnthropicChatModel.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,9 @@ public ChatResponse internalCall(Prompt prompt, ChatResponse previousChatRespons
229229
}
230230

231231
private DefaultUsage getDefaultUsage(AnthropicApi.Usage usage) {
232-
return new DefaultUsage(usage.inputTokens(), usage.outputTokens(), usage.inputTokens() + usage.outputTokens(),
233-
usage);
232+
Integer inputTokens = usage.inputTokens() != null ? usage.inputTokens() : 0;
233+
Integer outputTokens = usage.outputTokens() != null ? usage.outputTokens() : 0;
234+
return new DefaultUsage(inputTokens, outputTokens, inputTokens + outputTokens, usage);
234235
}
235236

236237
@Override

0 commit comments

Comments
 (0)