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
import time
from openai.error import RateLimitError
while True:
try:
completion = openai.ChatCompletion.create( completion = openai.ChatCompletion.create(
model=model, model=model,
messages=messages, messages=messages,
temperature=0, temperature=0,
stream=True, 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: