시작하기무료로 시작하기

재시도를 통한 속도 제한 회피

사용자 지정 메시지로 Chat Completions를 실행하는 함수를 만들었지만, 때때로 속도 제한 때문에 실패하는 것을 발견했습니다. 가능한 한 오류를 피하기 위해 tenacity 라이브러리의 @retry 데코레이터를 사용하기로 결정했습니다.

이 연습은 강의의 일부입니다

OpenAI API로 AI 시스템 개발하기

강의 보기

연습 안내

"- 필수 함수인 retry, wait_random_exponential, stop_after_attempt와 함께 tenacity 라이브러리를 임포트하세요.

  • OpenAI API 클라이언트를 생성하세요.
  • 재시도 데코레이터를 5초 간격으로 시작하여 최대 40초까지, 4번 시도 후 중지하도록 필요한 매개변수로 완성하세요.

연습이 시간 초과될 경우, 간격과 시도 횟수 값이 위에 명시된 것과 정확히 일치하는지 확인하세요."

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import the tenacity library
from ____ import ____

client = OpenAI(api_key="")

# Add the appropriate parameters to the decorator
@retry(____, ____)
def get_response(model, message):
    response = client.chat.completions.create(
      model=model,
      messages=[message]
    )
    return response.choices[0].message.content
print(get_response("gpt-4o-mini", {"role": "user", "content": "List ten holiday destinations."}))
코드 편집 및 실행