ПочатиПочніть безкоштовно

Уникнення лімітів швидкості за допомогою повторних спроб (retry)

Ви створили функцію для запуску Chat Completions із власним повідомленням, але помітили, що інколи вона падає через ліміти швидкості. Ви вирішили використати декоратор @retry з бібліотеки tenacity, щоб за можливості уникати помилок.

Ця вправа є частиною курсу

Розроблення AI‑систем з OpenAI API

Переглянути курс

Інструкції до вправи

  • Імпортуйте бібліотеку tenacity з потрібними функціями: retry, wait_random_exponential і stop_after_attempt.
  • Створіть клієнт 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."}))
Редагувати та запускати код