재시도를 통한 속도 제한 회피
사용자 지정 메시지로 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."}))