Σφάλματα

Κάθε κωδικός σφάλματος με τον οποίο μπορεί να απαντήσει αυτό το API, η κατάσταση HTTP που τον μεταφέρει και τι να κάνετε γι' αυτό. Ο φάκελος είναι σε σχήμα OpenAI με μία προσθήκη σε namespace.

Ο φάκελος

Το error.message είναι γραμμένο για ένα άτομο που διαβάζει ένα αρχείο καταγραφής, το error.type ονομάζει την κλάση αποτυχίας, και το error.code είναι το σταθερό αναγνωριστικό στο οποίο βασίζεστε — το κείμενο του μηνύματος δεν αποτελεί σύμβαση. Όπου το API έχει δομημένη λεπτομέρεια (ποια πολιτική, ποιο endpoint, ποιο μοντέλο) αυτή φτάνει στο error.llmeu και δεν αντικαθιστά ποτέ τα τρία τυπικά πεδία.

{
  "error": {
    "message": "No endpoint satisfies residency eu-owned. Residency is never relaxed silently.",
    "type": "conflict_error",
    "code": "no_endpoint_for_policy",
    "llmeu": { "requested": "llmeu-auto" }
  }
}

Ο τύπος ακολουθεί την κατάσταση

Η αντιστοίχιση παρακάτω είναι αυτή που εφαρμόζει το API, παραγόμενη από τον ίδιο πίνακα που χτίζει τις απαντήσεις του.

HTTP τύπος
400invalid_request_error
401authentication_error
402insufficient_quota
403permission_error
404not_found_error
409conflict_error
413invalid_request_error
422invalid_request_error
429rate_limit_error
500api_error
501api_error
502api_error
503api_error

Κωδικοί

Κάθε κωδικός που μπορεί να φτάσει σε έναν πελάτη. Ένας έλεγχος διατρέχει τον πηγαίο κώδικα του API και αποτυγχάνει όταν αυτός ο πίνακας και ο κώδικας διαφωνούν προς οποιαδήποτε κατεύθυνση, οπότε ένας κωδικός δεν μπορεί να επινοηθεί εδώ ή να προστεθεί εκεί χωρίς να τεκμηριωθεί.

HTTP code Τι σημαίνει και τι να κάνετε
400 invalid_request Το σώμα του αιτήματος απέτυχε στην επικύρωση.
400 invalid_json Το σώμα δεν ήταν έγκυρο JSON.
400 invalid_llmeu Το αντικείμενο llmeu δεν ήταν αντικείμενο ή περιείχε άγνωστο πεδίο.
400 invalid_residency Η ζητούμενη τοποθεσία φιλοξενίας δεν είναι μία από τις τέσσερις κλάσεις φιλοξενίας.
400 invalid_data_class Το ζητούμενο data_class δεν είναι μία από τις τέσσερις κλάσεις.
400 invalid_retention Η ζητούμενη διατήρηση δεν είναι zero, 24h, 7d ή 30d.
400 invalid_max_tokens Το max_tokens δεν ήταν θετικός ακέραιος.
400 invalid_stream Το stream δεν ήταν boolean.
400 invalid_stop Το stop δεν ήταν ούτε συμβολοσειρά ούτε πίνακας συμβολοσειρών.
400 invalid_role Ένα μήνυμα περιείχε ρόλο εκτός των system, user, assistant και tool.
400 invalid_tools Το tools ή το tool_choice είχαν λανθασμένη μορφή.
400 missing_model Το πεδίο model είναι υποχρεωτικό.
400 missing_messages Το messages είναι υποχρεωτικό και δεν πρέπει να είναι κενό.
400 missing_input Το input είναι υποχρεωτικό για embeddings.
400 missing_name Το name είναι υποχρεωτικό.
401 invalid_api_key Το κλειδί λείπει, είναι άγνωστο, ανακλήθηκε ή έληξε.
402 budget_exceeded Ο ημερήσιος προϋπολογισμός του οργανισμού έχει εξαντληθεί. Αυξήστε το max_usd_per_day ή περιμένετε να ανανεωθεί το παράθυρο.
403 api_key_required Το αίτημα χρησιμοποίησε συνεδρία κονσόλας. Δημιουργήστε ένα API key και στείλτε αυτό αντ' αυτού.
403 insufficient_scope Το κλειδί είναι έγκυρο αλλά δεν έχει το scope που απαιτεί αυτό το endpoint.
403 no_organization Το διαπιστευτήριο δεν είναι συνδεδεμένο με οργανισμό.
403 model_denied Η πολιτική του οργανισμού απαγορεύει αυτό το μοντέλο ή τον πάροχό του.
403 policy_violation Το αίτημα παραβιάζει έναν κανόνα της πολιτικής του οργανισμού.
403 retention_exceeds_policy Η ζητούμενη διατήρηση είναι μεγαλύτερη από ό,τι επιτρέπει η πολιτική. Αυτό ελέγχεται πριν από οτιδήποτε άλλο σχετικά με το αίτημα.
403 data_class_not_allowed Το data_class του αιτήματος δεν είναι ένα από αυτά που επιτρέπει η πολιτική.
404 model_not_found Δεν υπάρχει τέτοιο μοντέλο για αυτόν τον οργανισμό.
404 hosted_unavailable Το μοντέλο είναι στον κατάλογο αλλά δεν φιλοξενείται στο LLM EU, οπότε δεν μπορεί να κληθεί.
404 not_found Η διαδρομή υπάρχει αλλά το αντικείμενο δεν υπάρχει.
404 unknown_route Δεν έχει τοποθετηθεί καμία διαδρομή σε αυτό το μονοπάτι. Κάθε endpoint του OpenAI που δεν αναφέρεται στο Endpoints απαντά με αυτό.
404 policy_not_found Το policy_id στο llmeu δεν ανήκει σε αυτόν τον οργανισμό.
409 no_endpoint_for_policy Τίποτα δεν ικανοποιεί μαζί την πολιτική και την τοποθεσία φιλοξενίας, και κανένα από τα δύο δεν χαλαρώνει σιωπηλά.
409 not_a_text_model Το μοντέλο που ονομάστηκε δεν μπορεί να παράγει κείμενο: είναι μοντέλο αναγνώρισης ομιλίας, ενσωμάτωσης ή επανακατάταξης.
409 conflict Το αίτημα συγκρούεται με την τρέχουσα κατάσταση του αντικειμένου.
413 request_too_large Το σώμα υπερέβη το όριο μεγέθους του τελικού σημείου.
429 rate_limit_exceeded Ένα όριο από τον πίνακα ορίων ρυθμού επιτεύχθηκε. Το μήνυμα αναφέρει τον χρόνο επαναφοράς του παραθύρου.
500 internal_error Μια απροσδόκητη αποτυχία από την πλευρά μας.
501 not_implemented Το τελικό σημείο δεν προσφέρεται σκόπιμα, ή η ζητούμενη δυνατότητα δεν υπάρχει σε αυτή την ανάπτυξη.
501 retention_not_implemented Η πολιτική επιτρέπει διατήρηση διάφορη του μηδενός και μόνο το μηδέν υλοποιείται, οπότε το αίτημα απορρίπτεται αντί να αποθηκευτεί.
501 unsupported_n Το n μεγαλύτερο του 1 δεν υποστηρίζεται.
502 upstream_error Κανένα τελικό σημείο δεν μπόρεσε να εξυπηρετήσει το αίτημα μετά τη μεταβίβαση. Το ίχνος καταγράφει κάθε προσπάθεια.
502 stream_failed Η ροή απέτυχε αφού είχε ήδη ξεκινήσει.

Το no_endpoint_for_policy είναι το προϊόν σε λειτουργία

Ένα 409 με αυτόν τον κωδικό σημαίνει ότι η πολιτική και το αίτημα μαζί δεν επιτρέπουν κανένα endpoint, και ο router αρνήθηκε να χαλαρώσει σιωπηλά οποιοδήποτε από τα δύο. Δεν είναι παροδικό: η επανάληψη χωρίς αλλαγή του αιτήματος, της πολιτικής ή της τοποθεσίας φιλοξενίας αποτυγχάνει με τον ίδιο τρόπο. Το σφάλμα μεταφέρει τη ζητούμενη τοποθεσία φιλοξενίας και το ίχνος καταγράφει γιατί απορρίφθηκε κάθε endpoint.

Σφάλματα μέσα σε ροή

Ένα αίτημα ροής που αποτυγχάνει αφού σταλούν οι κεφαλίδες γράφει το σφάλμα ως τελικό πλαίσιο SSE και έπειτα τον τερματιστή, ώστε ένας πελάτης που ακολουθεί τη μορφή να βλέπει αποτυχία αντί για κολοβωμένη επιτυχία.

data: {"error":{"message":"No endpoint could start the stream.","type":"api_error","code":"upstream_error"}}

data: [DONE]