Τα σφάλματα ορίου ρυθμού ('Too Many Requests', ‘Rate limit reached’) προκαλούνται όταν φτάνετε το όριο ρυθμού του οργανισμού σας, δηλαδή τον μέγιστο αριθμό αιτημάτων και token που μπορούν να υποβληθούν ανά λεπτό. Αν συμπληρωθεί το όριο, ο οργανισμός δεν μπορεί να υποβάλει επιτυχώς αιτήματα μέχρι να γίνει επαναφορά του ορίου ρυθμού. Το μήνυμα σφάλματος μοιάζει ως εξής:
Έγινε υπέρβαση ορίου ρυθμού για το gpt-3.5-turbo στον οργανισμό org-exampleorgid123 ως προς τα token ανά λεπτό.
Όριο: 10000.000000 / λεπτό. Τρέχον: 10020.000000 / λεπτό. Συνιστούμε να χειρίζεστε αυτά τα σφάλματα χρησιμοποιώντας εκθετικό backoff. Το εκθετικό backoff σημαίνει να εκτελείται μια σύντομη αναμονή όταν προκύπτει σφάλμα ορίου ρυθμού και έπειτα να γίνεται επανάληψη του ανεπιτυχούς αιτήματος. Αν το αίτημα εξακολουθεί να είναι ανεπιτυχές, η διάρκεια αναμονής αυξάνεται και η διαδικασία επαναλαμβάνεται. Αυτό συνεχίζεται μέχρι το αίτημα να είναι επιτυχές ή μέχρι να συμπληρωθεί ένας μέγιστος αριθμός επαναλήψεων.
Καθώς τα ανεπιτυχή αιτήματα συνυπολογίζονται στο ανά λεπτό όριό σας, η συνεχής επαναποστολή ενός αιτήματος δεν θα λειτουργήσει. Τα όρια ρυθμού μπορούν να εφαρμόζονται σε μικρότερες περιόδους - για παράδειγμα, 1 αίτημα ανά δευτερόλεπτο για όριο 60 RPM - που σημαίνει ότι σύντομες αιχμές μεγάλου όγκου αιτημάτων μπορούν επίσης να οδηγήσουν σε σφάλματα ορίου ρυθμού. Το εκθετικό backoff λειτουργεί καλά κατανέμοντας χρονικά τα αιτήματα, ώστε να ελαχιστοποιείται η συχνότητα αυτών των σφαλμάτων.
Στην Python, μια λύση εκθετικού backoff θα μπορούσε να μοιάζει κάπως έτσι:
from openai import OpenAI, RateLimitError
import backoff
client = OpenAI()
@backoff.on_exception(backoff.expo, RateLimitError)
def completions_with_backoff(**kwargs):
response = client.completions.create(**kwargs)
return response(Λάβετε υπόψη: Η βιβλιοθήκη backoff είναι εργαλείο τρίτου μέρους. Συνιστούμε σε όλους τους πελάτες μας να κάνουν τον απαραίτητο έλεγχο όταν πρόκειται να επικυρώσουν οποιονδήποτε εξωτερικό κώδικα για τα έργα τους.)
Αν η υλοποίηση εκθετικού backoff εξακολουθεί να οδηγεί σε αυτό το σφάλμα, ίσως χρειαστεί να αυξήσετε το επίπεδο χρήσης σας. Μπορείτε να δείτε τα τρέχοντα όρια ρυθμού σας και πώς να αυξήσετε το επίπεδο εμπιστοσύνης σας για να αυξήσετε τα όρια ρυθμού στην ενότητα ορίων των ρυθμίσεων του λογαριασμού σας.
