Skip to content

Fix completion tokens none issue 6352 #6665

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

tejas-dharani
Copy link
Contributor

@tejas-dharani tejas-dharani commented Jun 11, 2025

Why are these changes needed?

This PR fixes a TypeError that occurs when logging LLM events in the OpenAI integration. The issue arises when result.usage.completion_tokens or result.usage.prompt_tokens are None even when result.usage itself is not None. This causes "unsupported operand type(s) for +=: 'int' and 'NoneType'" errors during logging operations.

The fix adds proper null checks for both prompt_tokens and completion_tokens properties, ensuring usage statistics default to 0 when individual properties are None. This prevents the TypeError and ensures robust handling of OpenAI API responses where token counts might be missing.

Related issue number

Closes #6352

Checks

tejas-dharani and others added 15 commits June 2, 2025 11:17
…on guide- Fix version format from 0.4.0-dev-1 to 0.4.0-dev.1 for all packages- Remove reference to non-existent Microsoft.AutoGen.Extensions package- Add correct extension packages: Aspire, MEAI, and SemanticKernel- Fix typo: RuntimeGatewway -> RuntimeGateway- Improve documentation structure with clear section headersFixes #6244
Fix issue #6277 where TextMessage was used but not imported in three code cells
of the custom agents documentation, causing NameError when users run the examples.

Changes:
- Add TextMessage to imports in ArithmeticAgent section
- Add TextMessage to imports in GeminiAssistantAgent section
- Add TextMessage to imports in Declarative GeminiAssistantAgent section

The CountDownAgent section already had the correct import.

Fixes #6277
Fixes #6352 - Add null checks for prompt_tokens and completion_tokens
to prevent TypeError when individual usage properties are None.
…stallation guide- Fix version format from 0.4.0-dev-1 to 0.4.0-dev.1 for all packages- Remove reference to non-existent Microsoft.AutoGen.Extensions package- Add correct extension packages: Aspire, MEAI, and SemanticKernel- Fix typo: RuntimeGatewway -> RuntimeGateway- Improve documentation structure with clear section headersFixes #6244"

This reverts commit 6d9fb2e.
Copy link

codecov bot commented Jun 26, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 79.74%. Comparing base (087ce0f) to head (62dfa1d).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #6665   +/-   ##
=======================================
  Coverage   79.73%   79.74%           
=======================================
  Files         232      232           
  Lines       17403    17403           
=======================================
+ Hits        13877    13878    +1     
+ Misses       3526     3525    -1     
Flag Coverage Δ
unittests 79.74% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ekzhu ekzhu enabled auto-merge (squash) June 26, 2025 23:19
@ekzhu ekzhu merged commit 11b7743 into microsoft:main Jun 26, 2025
65 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

completion_tokens return None when result.usage is None
2 participants