Τι είναι τα token;
Τα token είναι τα δομικά στοιχεία του κειμένου που επεξεργάζονται τα μοντέλα της OpenAI. Μπορεί να είναι τόσο μικρά όσο ένας μόνο χαρακτήρας ή τόσο μεγάλα όσο μια ολόκληρη λέξη, ανάλογα με τη γλώσσα και το περιβάλλον. Τα κενά, η στίξη και τα τμήματα λέξεων συμβάλλουν όλα στην καταμέτρηση των token. Έτσι τμηματοποιεί εσωτερικά το κείμενό σας το API πριν δημιουργήσει μια απόκριση.
Χρήσιμοι πρακτικοί κανόνες για τα Αγγλικά:
1 token ≈ 4 χαρακτήρες
1 token ≈ ¾ μιας λέξης
100 token ≈ 75 λέξεις
1–2 προτάσεις ≈ 30 token
1 παράγραφος ≈ 100 token
~1.500 λέξεις ≈ 2.048 token
Η μετατροπή σε token διαφέρει ανάλογα με το μοντέλο και την κωδικοποίηση. Χρησιμοποιήστε το εργαλείο Tokenizer ή το tiktoken.encoding_for_model(model) για να λάβετε τον ακριβή αριθμό για το μοντέλο-στόχο σας.
Παραδείγματα
Ακολουθούν μερικά δείγματα κειμένου από τον πραγματικό κόσμο με τους κατά προσέγγιση αριθμούς token τους:
Το απόφθεγμα του Wayne Gretzky «Χάνεις το 100% των σουτ που δεν κάνεις» = 11 token
Ο Χάρτης της OpenAI = 476 token
Η Διακήρυξη της Ανεξαρτησίας των ΗΠΑ = 1.695 token
Πώς υπολογίζονται οι αριθμοί token
Όταν στέλνετε κείμενο στο API:
Το κείμενο χωρίζεται σε token.
Το μοντέλο επεξεργάζεται αυτά τα token.
Η απόκριση δημιουργείται ως ακολουθία token και στη συνέχεια μετατρέπεται ξανά σε κείμενο.
Η χρήση token παρακολουθείται σε διάφορες κατηγορίες:
Token εισόδου – token στο αίτημά σας.
Token εξόδου – token που δημιουργούνται στην απόκριση.
Αποθηκευμένα token στην κρυφή μνήμη – επαναχρησιμοποιούμενα token στο ιστορικό συνομιλίας (συχνά χρεώνονται με μειωμένη τιμή).
Token συλλογιστικής – σε ορισμένα προηγμένα μοντέλα, πρόσθετα «βήματα σκέψης» περιλαμβάνονται εσωτερικά πριν από την παραγωγή της τελικής εξόδου.
Αυτοί οι αριθμοί εμφανίζονται στα μεταδεδομένα της απόκρισής σας από το API και χρησιμοποιούνται για τη χρέωση και την παρακολούθηση χρήσης.
Για να εξερευνήσετε περαιτέρω τη μετατροπή σε token, μπορείτε να χρησιμοποιήσετε το διαδραστικό μας εργαλείο Tokenizer, το οποίο σας επιτρέπει να υπολογίζετε τον αριθμό των token και να βλέπετε πώς το κείμενο χωρίζεται σε token.
Εναλλακτικά, αν θέλετε να μετατρέψετε κείμενο σε token μέσω προγραμματισμού, χρησιμοποιήστε το Tiktoken ως έναν γρήγορο BPE tokenizer που χρησιμοποιείται ειδικά για τα μοντέλα της OpenAI.
Όρια token
Κάθε μοντέλο έχει ένα μέγιστο συνδυασμένο όριο token (είσοδος + έξοδος). Τα τρέχοντα μοντέλα υψηλής χωρητικότητας υποστηρίζουν έως και εκατοντάδες χιλιάδες token στο context, αν και τα πρακτικά όρια μπορεί να διαφέρουν ανάλογα με την έκδοση του μοντέλου και το επίπεδο χρήσης σας.
Αν υπερβείτε το όριο, μπορείτε να:
Συντομεύσετε ή να επαναδιατυπώσετε τις προτροπές.
Χωρίσετε μεγάλο κείμενο σε μικρότερα τμήματα.
Συνοψίσετε ή να προεπεξεργαστείτε τις εισόδους πριν τις στείλετε.
Τιμολόγηση token
Η χρήση API τιμολογείται ανά token και διαφέρει ανάλογα με το μοντέλο και με το αν τα token είναι εισόδου, εξόδου ή αποθηκευμένα στην κρυφή μνήμη. Δείτε τη σελίδα τιμολόγησης της OpenAI για τις τρέχουσες τιμές. Ορισμένα μοντέλα συλλογιστικής μπορεί να χρησιμοποιούν περισσότερα token εσωτερικά, αλλά στοχεύουν στη βελτίωση της αποδοτικότητας μειώνοντας τον αριθμό των token που χρειάζονται ανά ολοκληρωμένη εργασία.
Εξερεύνηση των token
Το API αντιμετωπίζει τις λέξεις σύμφωνα με το περιβάλλον τους στα δεδομένα του σώματος κειμένων. Τα μοντέλα λαμβάνουν την προτροπή, μετατρέπουν την είσοδο σε μια λίστα token, επεξεργάζονται την προτροπή και μετατρέπουν τα προβλεπόμενα token ξανά στις λέξεις που βλέπουμε στην απόκριση.
Αυτό που σε εμάς μπορεί να φαίνεται ως δύο πανομοιότυπες λέξεις μπορεί να δημιουργηθεί ως διαφορετικά token, ανάλογα με το πώς είναι δομημένες μέσα στο κείμενο. Εξετάστε πώς το API δημιουργεί τιμές token για τη λέξη «red» με βάση το περιβάλλον της μέσα στο κείμενο:
Στο πρώτο παράδειγμα παραπάνω, το token «2266» για το ‘ red’ περιλαμβάνει ένα κενό στο τέλος (Σημείωση: αυτά είναι ενδεικτικά αναγνωριστικά token για σκοπούς επίδειξης).
Το token «2296» για το ‘ Red’ (με αρχικό κενό και κεφαλαίο πρώτο γράμμα) είναι διαφορετικό από το token «2266» για το ‘ red’ με πεζό γράμμα.
Όταν το ‘Red’ χρησιμοποιείται στην αρχή μιας πρότασης, το token που δημιουργείται δεν περιλαμβάνει αρχικό κενό. Το token «7738» είναι διαφορετικό από τα δύο προηγούμενα παραδείγματα της λέξης.
Παρατηρήσεις:
Όσο πιο πιθανό/συχνό είναι ένα token, τόσο μικρότερος είναι ο αριθμός token που του εκχωρείται:
Το token που δημιουργείται για την τελεία είναι το ίδιο («13») και στις 3 προτάσεις. Αυτό συμβαίνει επειδή, με βάση το περιβάλλον, η τελεία χρησιμοποιείται αρκετά παρόμοια σε όλα τα δεδομένα του σώματος κειμένων.
Το token που δημιουργείται για το ‘red’ διαφέρει ανάλογα με τη θέση του μέσα στην πρόταση:
Πεζά στη μέση μιας πρότασης: ‘ red’ - (token: «2266»)
Κεφαλαία στη μέση μιας πρότασης: ‘ Red’ - (token: «2297»)
Κεφαλαία στην αρχή μιας πρότασης: ‘Red’ - (token: «7738»)
