OpenAI
Тази страница е машинно преведена. Вижте оригиналната статия на английски език.

Разбиране и броене на токени

Научете как входните, изходните, кешираните токени и токените за структурирано анализиране влияят върху използването на API, ограниченията на модела и разходите.

Актуализирано: 5 days ago

Общ преглед

Токените са единиците, които моделите на OpenAI използват за обработка на текст. Един токен може да представя знак, част от дума, цяла дума или препинателен знак. Интервалите също влияят върху начина, по който текстът се разделя на токени.

Броят на токените не е равен на броя на думите. Един и същ текст може да доведе до различен брой токени в зависимост от модела, неговото кодиране и езика.

Разбиране как текстът се превръща в токени

Когато изпратите текст към модел:

  1. Текстът се разделя на токени.

  2. Моделът обработва тези токени.

  3. Моделът генерира изходни токени. Те могат да включват получения от вас текст, а при моделите със структурирано анализиране — и вътрешни токени за структурирано анализиране, които не се показват като текст на отговора.

Използване на приблизителни оценки за текст на английски

Тези приблизителни оценки могат да ви помогнат да прецените размера на текст на английски:

  • 1 токен е приблизително 4 знака.

  • 1 токен е приблизително три четвърти от дума.

  • 100 токена са приблизително 75 думи.

Това са приблизителни оценки, а не точни стойности. Дължината на изреченията и абзаците варира, а при другите езици съотношенията между знаци, думи и токени може да са различни.

Отчитане на интервалите и главните букви

Една дума може да бъде разделена на различни токени в зависимост от правописа, употребата на главни букви и околния текст.

Например red, Red и red не съдържат еднакъв текст: последният пример включва интервал в началото. Дадено кодиране може да ги представя по различен начин.

Идентификаторите на токените също зависят от кодирането. Не приемайте, че примерен идентификатор на токен е валиден за всеки модел.

Разграничаване на входните и изходните токени

КатегорияКакво описва
Входни токениТокени, подадени към модела в дадена заявка. Наричат се също токени на подканата.
Изходни токениТокени, генерирани от модела. В Chat Completions те се наричат токени за допълване.
Кеширани входни токениВходни токени, използвани повторно чрез кеширане на подкани. Цената им може да се различава от тази на некешираните входни токени.
Токени за структурирано анализиранеТокени, които моделът със структурирано анализиране използва вътрешно, преди да създаде видимия си отговор.

Токените за структурирано анализиране не се виждат като текст на отговора, но се включват в използването на изходни токени и се таксуват като такива.

Затова кратък видим отговор може да използва повече токени, отколкото предполага показаният текст.

Броене на токените преди изпращане на заявка

Броене на токени в обикновен текст

Използвайте Tokenizer, за да видите как текстът се разделя на токени.

За програмна токенизация на обикновен текст използвайте tiktoken. Изберете кодирането за целевия си модел, например с tiktoken.encoding_for_model(model).

Броят на токените в обикновен текст не включва непременно всички токени в дадена заявка към API. Структурата на съобщенията, инструментите, схемите, изображенията и файловете могат да повлияят върху общия брой входни токени.

Броене на токените в пълни входни данни за Responses

За пълни входни данни за Responses API използвайте API за броене на входни токени.

Той приема входните формати на Responses, включително съобщения, изображения, файлове, инструменти и разговори. Броят включва токените за форматиране, използвани за структурата на заявката, като роли и граници на съобщенията.

Броят на входните токени не предвижда колко изходни токена ще генерира моделът.

Проверка на действителното използване на токени

След заявка прегледайте информацията за използването ѝ. Имената на полетата се различават според крайната точка:

  • Chat Completions отчита prompt_tokens, completion_tokens и total_tokens.

  • Responses отчита input_tokens, output_tokens и total_tokens.

Можете също да преглеждате активността във времето в таблото за използване. За инструкции, включително за използването при поточно предаване, вижте: Преглед на използването и разходите за API.

Спазване на ограниченията на модела

Проверете в документацията на модела неговия контекстен прозорец и максималния изход. Тези ограничения може да се различават между моделите.

Контекстният прозорец ограничава броя токени, с които моделът може да работи в една заявка. Моделите имат и ограничение за изхода. При моделите със структурирано анализиране предвидете място както за токените за структурирано анализиране, така и за видимия отговор.

Ако входните ви данни са твърде големи, можете да:

  • Съкратите или преформулирате подканата.

  • Премахнете ненужния или повтарящия се контекст.

  • Разделите големите входни данни на по-малки части.

  • Обобщите или предварително обработите текста, преди да го изпратите.

Използвайте настройката за изходни токени, поддържана от крайната точка и модела ви. Chat Completions използва max_completion_tokens, а Responses — max_output_tokens.

Тези ограничения за размера на заявките са отделни от ограниченията за честотата на заявките към API и месечните ограничения за използване или разходи. Прегледайте документацията за модела, който използвате.

Разбиране на ценообразуването на токените

При ценообразуване на API въз основа на токени тарифата зависи от модела и категорията токени. Входните, кешираните входни и изходните токени може да имат различни цени. Другите възможности на API може да използват различни единици за таксуване.

Проверете актуалните тарифи на страницата с цените за API.

Когато сравнявате модели, вземайте предвид общия брой токени и разходите, необходими за изпълнение на задачата ви. По-ниската цена за милион токени не води непременно до по-нисък общ разход: моделите могат да токенизират един и същ текст по различен начин и да генерират различно количество изходни токени или токени за структурирано анализиране.

Тествайте представителни задачи, вместо да сравнявате само дължината на видимия отговор.

Отчитане на множество допълвания

Когато крайната точка и моделът поддържат генериране на множество допълвания, тези допълнителни допълвания също използват токени.

При Chat Completions задаването на n над 1 генерира множество варианти. Таксуват ви за генерираните токени във всички тези варианти.

При остарелия Completions API best_of може да генерира кандидати, които не се връщат всичките. Например best_of = 3 може да генерира общо до 3 × max_tokens токена за допълване сред кандидатите.

Тези параметри са специфични за крайната точка. Не приемайте, че n или best_of се поддържат от друг API или модел.

Беше ли Ви полезна тази статия?