diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 550ba38c8..8aa4ecba1 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -189,7 +189,11 @@ class Coder: for fname in self.get_inchat_relative_files(): self.io.tool_output(f"Added {fname} to the chat.") - self.summarizer = ChatSummary(models.Model.weak_model()) + self.summarizer = ChatSummary( + models.Model.weak_model(), + self.main_model.max_chat_history_tokens, + ) + self.summarizer_thread = None self.summarized_done_messages = [] diff --git a/aider/models/model.py b/aider/models/model.py index 7522c97e0..9b1a3daab 100644 --- a/aider/models/model.py +++ b/aider/models/model.py @@ -8,6 +8,7 @@ class Model: edit_format = None max_context_tokens = 0 tokenizer = None + max_chat_history_tokens = 1024 always_available = False use_repo_map = False diff --git a/aider/models/openai.py b/aider/models/openai.py index 75f2808c9..e6674d769 100644 --- a/aider/models/openai.py +++ b/aider/models/openai.py @@ -40,12 +40,15 @@ class OpenAIModel(Model): if tokens == 8: self.prompt_price = 0.03 self.completion_price = 0.06 + self.max_chat_history_tokens = 1024 elif tokens == 32: self.prompt_price = 0.06 self.completion_price = 0.12 + self.max_chat_history_tokens = 3 * 1024 elif tokens == 128: self.prompt_price = 0.01 self.completion_price = 0.03 + self.max_chat_history_tokens = 4 * 1024 return @@ -56,12 +59,15 @@ class OpenAIModel(Model): if self.name == "gpt-3.5-turbo-1106": self.prompt_price = 0.001 self.completion_price = 0.002 + self.max_chat_history_tokens = 3 * 1024 elif tokens == 4: self.prompt_price = 0.0015 self.completion_price = 0.002 + self.max_chat_history_tokens = 1024 elif tokens == 16: self.prompt_price = 0.003 self.completion_price = 0.004 + self.max_chat_history_tokens = 2 * 1024 return