diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 3960515af..3d04b50bd 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -1396,6 +1396,7 @@ class Coder: self.stream, temp, extra_headers=model.extra_headers, + extra_body=model.extra_body, max_tokens=model.max_tokens, ) self.chat_completion_call_hashes.append(hash_object.hexdigest()) diff --git a/aider/models.py b/aider/models.py index 744515336..29c3654ce 100644 --- a/aider/models.py +++ b/aider/models.py @@ -74,6 +74,7 @@ class ModelSettings: reminder: str = "user" examples_as_sys_msg: bool = False extra_headers: Optional[dict] = None + extra_body: Optional[dict] = None max_tokens: Optional[int] = None cache_control: bool = False caches_by_default: bool = False diff --git a/aider/sendchat.py b/aider/sendchat.py index 1ac34f9ab..d651e5902 100644 --- a/aider/sendchat.py +++ b/aider/sendchat.py @@ -53,6 +53,7 @@ def send_completion( stream, temperature=0, extra_headers=None, + extra_body=None, max_tokens=None, ): from aider.llm import litellm @@ -71,6 +72,8 @@ def send_completion( kwargs["tool_choice"] = {"type": "function", "function": {"name": function["name"]}} if extra_headers is not None: kwargs["extra_headers"] = extra_headers + if extra_body is not None: + kwargs["extra_body"] = extra_body if max_tokens is not None: kwargs["max_tokens"] = max_tokens @@ -103,6 +106,8 @@ def simple_send_with_retries(model_name, messages, extra_headers=None): } if extra_headers is not None: kwargs["extra_headers"] = extra_headers + if extra_body is not None: + kwargs["extra_body"] = extra_body _hash, response = send_completion(**kwargs) return response.choices[0].message.content