This commit is contained in:
Paul Gauthier 2023-06-03 06:18:45 -07:00
parent 1882cf55db
commit c27483193b

View file

@ -391,22 +391,15 @@ class Coder:
return prompts.added_files.format(fnames=", ".join(mentioned_rel_fnames)) return prompts.added_files.format(fnames=", ".join(mentioned_rel_fnames))
def send(self, messages, model=None, silent=False): def send_with_retries(self, model, messages):
if not model:
model = self.main_model
self.resp = ""
interrupted = False
try:
while True: while True:
try: try:
completion = openai.ChatCompletion.create( return openai.ChatCompletion.create(
model=model, model=model,
messages=messages, messages=messages,
temperature=0, temperature=0,
stream=True, stream=True,
) )
break
except RateLimitError as err: except RateLimitError as err:
self.io.tool_error(f"RateLimitError: {err}") self.io.tool_error(f"RateLimitError: {err}")
except requests.exceptions.ConnectionError as err: except requests.exceptions.ConnectionError as err:
@ -416,6 +409,14 @@ class Coder:
self.io.tool_error(f"Retry in {retry_after} seconds.") self.io.tool_error(f"Retry in {retry_after} seconds.")
time.sleep(retry_after) time.sleep(retry_after)
def send(self, messages, model=None, silent=False):
if not model:
model = self.main_model
self.resp = ""
interrupted = False
try:
completion = self.send_with_retries(model, messages)
self.show_send_output(completion, silent) self.show_send_output(completion, silent)
except KeyboardInterrupt: except KeyboardInterrupt:
interrupted = True interrupted = True