Fix: Replace None with 0 in CompletionUsage Tokens Details #2030
+4
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes being requested
This pull request addresses the issue raised in #1837 by replacing
None
with0
in theCompletionTokensDetails
andPromptTokensDetails
classes. The token fields, which represent counters, have been updated to use0
as the default value instead ofNone
. This eliminates unnecessary optional checks and simplifies the handling of token usage.Specific changes include:
Optional[int] = None
withOptional[int] = 0
for the following fields:audio_tokens
reasoning_tokens
cached_tokens
0
, making it easier to track usage without additional checks.Additional context & links
None
values and ensuring all counters start at0
by default.Optional
type was not removed entirely, as some fields may still be conditionally populated depending on the request or model.