Предотвращение ошибок превышения лимита запросов с помощью 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."}))