diff --git a/aider/history.py b/aider/history.py index 131cf4b31..9466595ee 100644 --- a/aider/history.py +++ b/aider/history.py @@ -2,7 +2,7 @@ import argparse from aider import models, prompts from aider.dump import dump # noqa: F401 -from aider.sendchat import simple_send_with_retries +from aider.sendchat import send_with_retries class ChatSummary: @@ -108,7 +108,7 @@ class ChatSummary: for model in self.models: try: - summary = simple_send_with_retries(model.name, summarize_messages) + summary = send_with_retries(model.name, summarize_messages) if summary is not None: summary = prompts.summary_prefix + summary return [dict(role="user", content=summary)] diff --git a/aider/repo.py b/aider/repo.py index 40e30ab17..d5c4c8d7c 100644 --- a/aider/repo.py +++ b/aider/repo.py @@ -6,7 +6,7 @@ import git import pathspec from aider import prompts, utils -from aider.sendchat import simple_send_with_retries +from aider.sendchat import send_with_retries from .dump import dump # noqa: F401 @@ -170,7 +170,7 @@ class GitRepo: ] for model in self.models: - commit_message = simple_send_with_retries(model.name, messages) + commit_message = send_with_retries(model.name, messages) if commit_message: break diff --git a/aider/sendchat.py b/aider/sendchat.py index e3d40c23c..630f45b2a 100644 --- a/aider/sendchat.py +++ b/aider/sendchat.py @@ -66,7 +66,13 @@ def lazy_litellm_retry_decorator(func): @lazy_litellm_retry_decorator def send_with_retries( - model_name, messages, functions, stream, temperature=0, extra_headers=None, max_tokens=None + model_name, + messages, + functions=None, + stream=False, + temperature=0, + extra_headers=None, + max_tokens=None, ): from aider.llm import litellm @@ -99,16 +105,3 @@ def send_with_retries( CACHE[key] = res return hash_object, res - - -def simple_send_with_retries(model_name, messages): - try: - _hash, response = send_with_retries( - model_name=model_name, - messages=messages, - functions=None, - stream=False, - ) - return response.choices[0].message.content - except (AttributeError, litellm.exceptions.BadRequestError): - return diff --git a/tests/basic/test_history.py b/tests/basic/test_history.py index 17b563265..92ea00e8f 100644 --- a/tests/basic/test_history.py +++ b/tests/basic/test_history.py @@ -34,7 +34,7 @@ class TestChatSummary(TestCase): tokenized = self.chat_summary.tokenize(messages) self.assertEqual(tokenized, [(2, messages[0]), (2, messages[1])]) - @mock.patch("aider.history.simple_send_with_retries") + @mock.patch("aider.history.send_with_retries") def test_summarize_all(self, mock_send): mock_send.return_value = "This is a summary" messages = [ @@ -69,7 +69,7 @@ class TestChatSummary(TestCase): self.assertGreater(len(result), 0) self.assertLessEqual(len(result), len(messages)) - @mock.patch("aider.history.simple_send_with_retries") + @mock.patch("aider.history.send_with_retries") def test_fallback_to_second_model(self, mock_send): mock_model1 = mock.Mock(spec=Model) mock_model1.name = "gpt-4" diff --git a/tests/basic/test_repo.py b/tests/basic/test_repo.py index 1853ff6fc..fe83c4731 100644 --- a/tests/basic/test_repo.py +++ b/tests/basic/test_repo.py @@ -106,7 +106,7 @@ class TestRepo(unittest.TestCase): diffs = git_repo.diff_commits(False, "HEAD~1", "HEAD") self.assertIn("two", diffs) - @patch("aider.repo.simple_send_with_retries") + @patch("aider.repo.send_with_retries") def test_get_commit_message(self, mock_send): mock_send.side_effect = ["", "a good commit message"] @@ -120,14 +120,14 @@ class TestRepo(unittest.TestCase): # Assert that the returned message is the expected one from the second model self.assertEqual(result, "a good commit message") - # Check that simple_send_with_retries was called twice + # Check that send_with_retries was called twice self.assertEqual(mock_send.call_count, 2) # Check that it was called with the correct model names mock_send.assert_any_call(model1.name, mock_send.call_args[0][1]) mock_send.assert_any_call(model2.name, mock_send.call_args[0][1]) - @patch("aider.repo.simple_send_with_retries") + @patch("aider.repo.send_with_retries") def test_get_commit_message_strip_quotes(self, mock_send): mock_send.return_value = '"a good commit message"' @@ -138,7 +138,7 @@ class TestRepo(unittest.TestCase): # Assert that the returned message is the expected one self.assertEqual(result, "a good commit message") - @patch("aider.repo.simple_send_with_retries") + @patch("aider.repo.send_with_retries") def test_get_commit_message_no_strip_unmatched_quotes(self, mock_send): mock_send.return_value = 'a good "commit message"' @@ -149,7 +149,7 @@ class TestRepo(unittest.TestCase): # Assert that the returned message is the expected one self.assertEqual(result, 'a good "commit message"') - @patch("aider.repo.simple_send_with_retries") + @patch("aider.repo.send_with_retries") def test_get_commit_message_with_custom_prompt(self, mock_send): mock_send.return_value = "Custom commit message" custom_prompt = "Generate a commit message in the style of Shakespeare" @@ -349,7 +349,7 @@ class TestRepo(unittest.TestCase): fnames = git_repo.get_tracked_files() self.assertIn(str(fname), fnames) - @patch("aider.repo.simple_send_with_retries") + @patch("aider.repo.send_with_retries") def test_noop_commit(self, mock_send): mock_send.return_value = '"a good commit message"'