Έλεγχος ταυτότητας

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

Δύο είδη διαπιστευτηρίων

Το API δέχεται ένα κλειδί API. Η κονσόλα δέχεται ένα cookie συνεδρίας. Δεν είναι εναλλάξιμα, και το API το επιβάλλει αυτό αντί να αποφασίζει αίτημα προς αίτημα αν ένα cookie προοριζόταν να είναι εκεί.

Ένας συνδεδεμένος περιηγητής δεν μπορεί να καλέσει το API

Ένα αίτημα που πιστοποιείται με cookie συνεδρίας λαμβάνει 403 api_key_required, με μήνυμα που παραπέμπει στη σελίδα κλειδιών της κονσόλας. Αυτό είναι σκόπιμο: χωρίς διαδρομή με έλεγχο ταυτότητας μέσω cookie προς το API, δεν υπάρχει τίποτα για να πλαστογραφήσει ένα αίτημα από άλλον ιστότοπο.

Η κεφαλίδα

Στείλτε το κλειδί ως bearer token. Ένα κλειδί είναι ένα πρόθεμα, μια τελεία και ένα μυστικό· το πρόθεμα προσδιορίζει τη γραμμή, οπότε η ανάκληση είναι άμεση και κοστίζει μία αναζήτηση.

curl https://api.llmeu.com/v1/chat/completions \
  -H "Authorization: Bearer llmeu_live_xxxxxxxx.your-secret" \
  -H "Content-Type: application/json" \
  -d '{"model":"llmeu-auto","messages":[{"role":"user","content":"Hello"}]}'

Πεδία

Ένα κλειδί φέρει ένα ή περισσότερα πεδία. Ένα αίτημα του οποίου το κλειδί δεν έχει το πεδίο που απαιτεί ένα τελικό σημείο απορρίπτεται με 403 insufficient_scope, πριν αναλυθεί το σώμα.

Πεδίο Ξεκλειδώνει
inference Ολοκληρώσεις συνομιλίας, embeddings, και τα τελικά σημεία λίστας και λεπτομερειών μοντέλων.
platform_read Ανάγνωση του οργανισμού σας: προφίλ, κλειδιά, χρήση, ίχνη και πολιτικές.
platform_write Δημιουργία και ανάκληση κλειδιών, και δημιουργία ή επεξεργασία πολιτικών. Αυτό είναι το πεδίο που αλλάζει ποιος μπορεί να κάνει τι, γι' αυτό δημιουργήστε το προσεκτικά.

Τα πεδία ελέγχονται ανά τελικό σημείο, όχι ανά κλειδί. Ένα κλειδί με platform_read δεν μπορεί να ξοδέψει πίστωση μέσω του playground.

Δημιουργία κλειδιού

Στην κονσόλα, ή μέσω του API πλατφόρμας με ένα κλειδί που φέρει ήδη platform_write. Το μυστικό εμφανίζεται μία φορά, όταν δημιουργείται: αποθηκεύεται μόνο ένα hash scrypt, οπότε κανείς — συμπεριλαμβανομένου του εαυτού μας — δεν μπορεί να το διαβάσει ξανά.

curl -X POST https://api.llmeu.com/platform/v1/api-keys \
  -H "Authorization: Bearer llmeu_live_xxxxxxxx.a-platform-write-key" \
  -H "Content-Type: application/json" \
  -d '{"name":"ci","scopes":["inference"]}'

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

Ανάκληση, και τι δεν είναι ένα κλειδί

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

Για την κονσόλα αντ' αυτού

Η σύνδεση, η ανάκτηση κωδικού πρόσβασης και η επαλήθευση διεύθυνσης τεκμηριώνονται μαζί με την κονσόλα. Δεν υπάρχει OAuth, ούτε SAML, ούτε προσωπικό διακριτικό πρόσβασης: η κονσόλα χρησιμοποιεί cookie συνεδρίας, το API χρησιμοποιεί κλειδιά.