使用python调用OpenaiAPI接口的时候使用官方代码,刚开始的时候都能正常输出内容,但是过一会儿就提示openai.error.ServiceUnavailableError: The server is overloaded or not ready yet.(中文翻译了下,并询问了gpt都提示是服务器负载过高/没准备好),难道是openai官网接口出了问题?我也试图怀疑过,调用接口的人肯定非常多,那么就不管了么?或是等人少的时候再用?如果你是在工作,这两个几乎是不可能的!
在网上找了很多方法都没用,下面直接放代码,问题解决!
from tenacity import (
retry,
stop_after_attempt,
wait_random_exponential,
retry_if_exception_type
) # for exponential backoff
@retry(
retry=retry_if_exception_type((openai.error.APIError, openai.error.APIConnectionError, openai.error.RateLimitError, openai.error.ServiceUnavailableError, openai.error.Timeout)),
wait=wait_random_exponential(multiplier=1, max=60),
stop=stop_after_attempt(10)
)
def chat_completion_with_backoff(**kwargs):
return openai.ChatCompletion.create(**kwargs)
# [...]
response = chat_completion_with_backoff(
model=model,
messages=[
{"role": "system", "content": system_msg},
{"role": "user", "content": longtext},
],
max_tokens=max_tokens,
)
现在也不会报错了,一直等待返回,只是个别时间等待比较长,应该跟我用的网络也有关系,我是用的梯子,而且本地网络还很拉跨!
原创文章,作者:lichen360,如若转载,请注明出处:https://hhpi.cn/164.html