mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-10 08:38:30 +00:00
fix: handle None values in token counter
- Update sum_cached_prompt_tokens to handle None values gracefully - Add unit tests for token counting with None values - Fixes #2197 Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
@@ -17,8 +17,9 @@ class TokenProcess:
|
|||||||
self.completion_tokens += tokens
|
self.completion_tokens += tokens
|
||||||
self.total_tokens += tokens
|
self.total_tokens += tokens
|
||||||
|
|
||||||
def sum_cached_prompt_tokens(self, tokens: int) -> None:
|
def sum_cached_prompt_tokens(self, tokens: int | None) -> None:
|
||||||
self.cached_prompt_tokens += tokens
|
if tokens is not None:
|
||||||
|
self.cached_prompt_tokens += tokens
|
||||||
|
|
||||||
def sum_successful_requests(self, requests: int) -> None:
|
def sum_successful_requests(self, requests: int) -> None:
|
||||||
self.successful_requests += requests
|
self.successful_requests += requests
|
||||||
|
|||||||
17
tests/utilities/test_token_process.py
Normal file
17
tests/utilities/test_token_process.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import unittest
|
||||||
|
from crewai.agents.agent_builder.utilities.base_token_process import TokenProcess
|
||||||
|
|
||||||
|
|
||||||
|
class TestTokenProcess(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.token_process = TokenProcess()
|
||||||
|
|
||||||
|
def test_sum_cached_prompt_tokens_with_none(self):
|
||||||
|
initial_tokens = self.token_process.cached_prompt_tokens
|
||||||
|
self.token_process.sum_cached_prompt_tokens(None)
|
||||||
|
self.assertEqual(self.token_process.cached_prompt_tokens, initial_tokens)
|
||||||
|
|
||||||
|
def test_sum_cached_prompt_tokens_with_int(self):
|
||||||
|
initial_tokens = self.token_process.cached_prompt_tokens
|
||||||
|
self.token_process.sum_cached_prompt_tokens(5)
|
||||||
|
self.assertEqual(self.token_process.cached_prompt_tokens, initial_tokens + 5)
|
||||||
Reference in New Issue
Block a user