diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 7040a4b19..49a9c61c7 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -989,7 +989,7 @@ class Coder: return except FinishReasonLength: # We hit the output limit! - if not self.main_model.can_prefill: + if not self.main_model.info.get("supports_assistant_prefill"): exhausted = True break @@ -998,7 +998,9 @@ class Coder: if messages[-1]["role"] == "assistant": messages[-1]["content"] = self.multi_response_content else: - messages.append(dict(role="assistant", content=self.multi_response_content)) + messages.append( + dict(role="assistant", content=self.multi_response_content, prefix=True) + ) except Exception as err: self.io.tool_error(f"Unexpected error: {err}") traceback.print_exc() diff --git a/aider/main.py b/aider/main.py index 72308f7a1..911f09ed7 100644 --- a/aider/main.py +++ b/aider/main.py @@ -462,7 +462,7 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F args.model = "claude-3-5-sonnet-20240620" if args.deepseek_beta: - args.model = "deepseek-coder" + args.model = "deepseek/deepseek-coder" os.environ["DEEPSEEK_API_BASE"] = "https://api.deepseek.com/beta" main_model = models.Model(args.model, weak_model=args.weak_model) diff --git a/aider/models.py b/aider/models.py index 908404343..551d0b9a4 100644 --- a/aider/models.py +++ b/aider/models.py @@ -70,7 +70,6 @@ class ModelSettings: lazy: bool = False reminder_as_sys_msg: bool = False examples_as_sys_msg: bool = False - can_prefill: bool = False extra_headers: Optional[dict] = None max_tokens: Optional[int] = None @@ -248,7 +247,6 @@ MODEL_SETTINGS = [ weak_model_name="claude-3-haiku-20240307", use_repo_map=True, send_undo_reply=True, - can_prefill=True, ), ModelSettings( "openrouter/anthropic/claude-3-opus", @@ -256,13 +254,11 @@ MODEL_SETTINGS = [ weak_model_name="openrouter/anthropic/claude-3-haiku", use_repo_map=True, send_undo_reply=True, - can_prefill=True, ), ModelSettings( "claude-3-sonnet-20240229", "whole", weak_model_name="claude-3-haiku-20240307", - can_prefill=True, ), ModelSettings( "claude-3-5-sonnet-20240620", @@ -270,7 +266,6 @@ MODEL_SETTINGS = [ weak_model_name="claude-3-haiku-20240307", use_repo_map=True, examples_as_sys_msg=True, - can_prefill=True, accepts_images=True, max_tokens=8192, extra_headers={"anthropic-beta": "max-tokens-3-5-sonnet-2024-07-15"}, @@ -281,7 +276,6 @@ MODEL_SETTINGS = [ weak_model_name="claude-3-haiku-20240307", use_repo_map=True, examples_as_sys_msg=True, - can_prefill=True, max_tokens=8192, extra_headers={ "anthropic-beta": "max-tokens-3-5-sonnet-2024-07-15", @@ -295,7 +289,6 @@ MODEL_SETTINGS = [ weak_model_name="openrouter/anthropic/claude-3-haiku-20240307", use_repo_map=True, examples_as_sys_msg=True, - can_prefill=True, accepts_images=True, max_tokens=8192, extra_headers={ @@ -312,7 +305,6 @@ MODEL_SETTINGS = [ weak_model_name="vertex_ai/claude-3-haiku@20240307", use_repo_map=True, examples_as_sys_msg=True, - can_prefill=True, accepts_images=True, ), ModelSettings( @@ -321,13 +313,11 @@ MODEL_SETTINGS = [ weak_model_name="vertex_ai/claude-3-haiku@20240307", use_repo_map=True, send_undo_reply=True, - can_prefill=True, ), ModelSettings( "vertex_ai/claude-3-sonnet@20240229", "whole", weak_model_name="vertex_ai/claude-3-haiku@20240307", - can_prefill=True, ), # Cohere ModelSettings( @@ -486,14 +476,10 @@ class Model: if "gpt-3.5" in model or "gpt-4" in model: self.reminder_as_sys_msg = True - if "anthropic" in model: - self.can_prefill = True - if "3.5-sonnet" in model or "3-5-sonnet" in model: self.edit_format = "diff" self.use_repo_map = True self.examples_as_sys_msg = True - self.can_prefill = True # use the defaults if self.edit_format == "diff":