Skip to content

Commit 63dd28d

Browse files
authored
fix: handle potential None values for token usage metrics in OpenAI provider (AstrBotDevs#6788)
Such as: unsupported operand type(s) for -: 'int' and 'NoneType' fixes: AstrBotDevs#6772
1 parent a2dae0f commit 63dd28d

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

astrbot/core/provider/sources/openai_source.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,9 @@ def _extract_usage(self, usage: CompletionUsage | dict) -> TokenUsage:
392392
cached = getattr(ptd, "cached_tokens", 0) if ptd else 0
393393
prompt_tokens = getattr(usage, "prompt_tokens", 0) or 0
394394
completion_tokens = getattr(usage, "completion_tokens", 0) or 0
395+
cached = cached or 0
396+
prompt_tokens = prompt_tokens or 0
397+
completion_tokens = completion_tokens or 0
395398
return TokenUsage(
396399
input_other=prompt_tokens - cached,
397400
input_cached=cached,

0 commit comments

Comments
 (0)