Advise the user when chat history is being summarized

This commit is contained in:
Paul Gauthier 2023-07-24 19:05:57 -03:00
parent 844194c268
commit 0db9d210d7
2 changed files with 18 additions and 9 deletions

View file

@ -13,20 +13,27 @@ class ChatSummary:
self.tokenizer = tiktoken.encoding_for_model(model)
self.max_tokens = max_tokens
def too_big(self, messages):
sized = self.tokenize(messages)
total = sum(tokens for tokens, _msg in sized)
dump(total, self.max_tokens)
return total > self.max_tokens
def tokenize(self, messages):
sized = []
for msg in messages:
tokens = len(self.tokenizer.encode(json.dumps(msg)))
sized.append((tokens, msg))
return sized
def summarize(self, messages):
num = len(messages)
dump(num)
if num < 2:
return messages
total = 0
sized = []
for msg in messages:
tokens = len(self.tokenizer.encode(json.dumps(msg)))
sized.append((tokens, msg))
total += tokens
dump(total, self.max_tokens)
sized = self.tokenize(messages)
total = sum(tokens for tokens, _msg in sized)
if total <= self.max_tokens:
return messages