НачатьНачать бесплатно

Предотвращение ошибок превышения лимита запросов с помощью retry

Вы создали функцию для выполнения запросов Chat Completions с пользовательским сообщением, однако заметили, что иногда она завершается с ошибкой из-за превышения лимита запросов. Чтобы по возможности избежать таких ошибок, вы решили использовать декоратор @retry из библиотеки tenacity.

Это упражнение является частью курса

Разработка ИИ-систем с помощью OpenAI API

Посмотреть курс

Инструкции к упражнению

  • Импортируйте библиотеку tenacity с необходимыми функциями: retry, wait_random_exponential и stop_after_attempt.
  • Создайте клиент OpenAI API.
  • Дополните декораторы retry параметрами, которые задают начальный интервал повтора в 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."}))
Редактировать и запускать код