mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-24 22:34:59 +00:00
Make functions optional
This commit is contained in:
parent
dd71b903a0
commit
e26acbae65
1 changed files with 6 additions and 5 deletions
|
@ -37,6 +37,7 @@ class Coder:
|
||||||
last_aider_commit_hash = None
|
last_aider_commit_hash = None
|
||||||
last_asked_for_commit_time = 0
|
last_asked_for_commit_time = 0
|
||||||
repo_map = None
|
repo_map = None
|
||||||
|
functions = None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(
|
def create(
|
||||||
|
@ -358,7 +359,7 @@ class Coder:
|
||||||
utils.show_messages(messages)
|
utils.show_messages(messages)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
interrupted = self.send(messages)
|
interrupted = self.send(messages, functions=self.functions)
|
||||||
except ExhaustedContextWindow:
|
except ExhaustedContextWindow:
|
||||||
self.io.tool_error("Exhausted context window!")
|
self.io.tool_error("Exhausted context window!")
|
||||||
self.io.tool_error(" - Use /tokens to see token usage.")
|
self.io.tool_error(" - Use /tokens to see token usage.")
|
||||||
|
@ -459,20 +460,20 @@ class Coder:
|
||||||
max_tries=5,
|
max_tries=5,
|
||||||
on_backoff=lambda details: print(f"Retry in {details['wait']} seconds."),
|
on_backoff=lambda details: print(f"Retry in {details['wait']} seconds."),
|
||||||
)
|
)
|
||||||
def send_with_retries(self, model, messages):
|
def send_with_retries(self, model, messages, functions):
|
||||||
kwargs = dict(
|
kwargs = dict(
|
||||||
model=model,
|
model=model,
|
||||||
messages=messages,
|
messages=messages,
|
||||||
temperature=0,
|
temperature=0,
|
||||||
stream=True,
|
stream=True,
|
||||||
)
|
)
|
||||||
if hasattr(self, "functions"):
|
if functions is not None:
|
||||||
kwargs["functions"] = self.functions
|
kwargs["functions"] = self.functions
|
||||||
|
|
||||||
res = openai.ChatCompletion.create(**kwargs)
|
res = openai.ChatCompletion.create(**kwargs)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def send(self, messages, model=None, silent=False):
|
def send(self, messages, model=None, silent=False, functions=None):
|
||||||
if not model:
|
if not model:
|
||||||
model = self.main_model.name
|
model = self.main_model.name
|
||||||
|
|
||||||
|
@ -481,7 +482,7 @@ class Coder:
|
||||||
|
|
||||||
interrupted = False
|
interrupted = False
|
||||||
try:
|
try:
|
||||||
completion = self.send_with_retries(model, messages)
|
completion = self.send_with_retries(model, messages, functions)
|
||||||
self.show_send_output(completion, silent)
|
self.show_send_output(completion, silent)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
interrupted = True
|
interrupted = True
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue