Handle openai.error.RateLimitError and retry requests with a delay.

This commit is contained in:
Paul Gauthier 2023-05-08 17:36:53 -07:00
parent a85cc59120
commit 06351d3205

View file

@ -239,12 +239,22 @@ class Coder:
if not model: if not model:
model = self.main_model model = self.main_model
completion = openai.ChatCompletion.create( import time
model=model, from openai.error import RateLimitError
messages=messages,
temperature=0, while True:
stream=True, try:
) completion = openai.ChatCompletion.create(
model=model,
messages=messages,
temperature=0,
stream=True,
)
break
except RateLimitError as e:
retry_after = e.retry_after
print(f"Rate limit exceeded. Retrying in {retry_after} seconds.")
time.sleep(retry_after)
interrupted = False interrupted = False
try: try: