feat: add cacheable_messages() method to ChatChunks class

This commit is contained in:
Paul Gauthier (aider) 2024-08-26 15:13:37 -07:00
parent 8ffbf96151
commit 9231154871

View file

@ -51,3 +51,10 @@ class ChatChunks:
content["cache_control"] = {"type": "ephemeral"} content["cache_control"] = {"type": "ephemeral"}
messages[-1]["content"] = [content] messages[-1]["content"] = [content]
def cacheable_messages(self):
chunks = self.system + self.examples + self.readonly_files + self.repo + self.done + self.chat_files
for i, message in enumerate(reversed(chunks)):
if isinstance(message.get('content'), list) and message['content'][0].get('cache_control'):
return chunks[:len(chunks)-i]
return chunks