From 83a273e1529f68426ecc8f4afe2525cdbf111d66 Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Thu, 23 Jan 2025 12:13:40 -0600 Subject: [PATCH] feat: for the first reflection use the (quicker) editor model --- aider/coders/base_coder.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index a8fb3250e27..bc1aa108c67 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -867,7 +867,10 @@ def run_one(self, user_message, preproc): while message: self.reflected_message = None - list(self.send_message(message)) + # for the first reflection use the (quicker) editor model; if it takes more than 1 retry though + # use the (potentially slower) main model + send_model = self.main_model.editor_model if self.num_reflections == 1 else self.main_model + list(self.send_message(message, model=send_model)) if not self.reflected_message: break @@ -1230,7 +1233,7 @@ def warm_cache_worker(): return chunks - def send_message(self, inp): + def send_message(self, inp, model=None): self.event("message_send_starting") self.cur_messages += [ @@ -1260,7 +1263,7 @@ def send_message(self, inp): try: while True: try: - yield from self.send(messages, functions=self.functions) + yield from self.send(messages, model=model, functions=self.functions) break except litellm_ex.exceptions_tuple() as err: ex_info = litellm_ex.get_ex_info(err)