Enhance reasoning_tokens handling in response processing (#318)

Add error handling and type coercion for reasoning_tokens.
This commit is contained in:
Alessandro Straolzini 2025-11-06 06:00:58 +01:00 committed by GitHub
parent c6b21d9890
commit 090f990c15
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 11 additions and 1 deletions

View File

@ -760,7 +760,17 @@ class OpenAIChatCompletionsModel(Model):
and response.usage.completion_tokens_details
and hasattr(response.usage.completion_tokens_details, "reasoning_tokens")
):
reasoning_tokens = response.usage.completion_tokens_details.reasoning_tokens
# Guard against None or unexpected types for reasoning_tokens
try:
reasoning_tokens = response.usage.completion_tokens_details.reasoning_tokens
if reasoning_tokens is None:
reasoning_tokens = 0
else:
# coerce numeric-like values to int
reasoning_tokens = int(reasoning_tokens)
except Exception:
reasoning_tokens = 0
self.total_reasoning_tokens += reasoning_tokens
# Process costs for non-streaming mode