INNER CODE UNIT · Python
exceeding_token_limit
adamyodinsky/TerminalGPT · terminalgpt/chat.py:151
def exceeding_token_limit(self):
"""Returns True if the total_usage is greater than the token limit with some safe buffer."""
return self.__total_usage > self.__token_limit
def reduce_tokens(self) -> int:
"""Reduce tokens in messages context."""
total_reduced_amount = self.__total_usage - self.__token_limit
reduce_amount = self.__total_usage - self.__token_limit
tokenized_message = []
while self.exceeding_token_limit():
message = self.__messages.pop(1)
tokenized_message = self.__tiktoken_encoder.encode(message["content"])
while reduce_amount > 0 and len(tokenized_message) > 0:
self.__total_usage -= 1
reduce_amount -= 1
tokenized_message.pop(0)
if len(tokenized_message) == 0 and self.exceeding_token_limit():