Předcházení limitům pomocí retry
Vytvořil/a jsi funkci pro spouštění Chat Completions s vlastní zprávou, ale zjistil/a jsi, že někdy selže kvůli překročení limitů. Rozhodneš se použít dekorátor @retry z knihovny tenacity, aby se těmto chybám předcházelo.
Toto cvičení je součástí kurzu
Vývoj AI systémů s OpenAI API
Pokyny k cvičení
- Importuj knihovnu
tenacitys potřebnými funkcemi:retry,wait_random_exponentialastop_after_attempt. - Vytvoř klienta OpenAI API.
- Doplň dekorátory retry s parametry potřebnými k tomu, aby se opakování zahajovalo s intervalem 5 sekund, maximálně do 40 sekund, a zastavilo po 4 pokusech.
Pokud cvičení vyprší časový limit, zkontroluj, že hodnoty intervalu a počtu pokusů přesně odpovídají výše uvedeným hodnotám.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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."}))