OpenAI
Šo lapu tulkoja mašīntulks. Skatīt oriģinālo rakstu angļu valodā.

Tekstvienību izpratne un skaitīšana

Uzziniet, kā ievades, izvades, kešotās un spriestspējas tekstvienības ietekmē API lietojumu, modeļu ierobežojumus un izmaksas.

Atjaunināts: 10 days ago

Pārskats

Tekstvienības ir vienības, ko OpenAI modeļi izmanto teksta apstrādei. Tekstvienība var apzīmēt rakstzīmi, vārda daļu, veselu vārdu vai pieturzīmi. Arī atstarpes ietekmē teksta dalīšanu tekstvienībās.

Tekstvienību skaits nav tas pats, kas vārdu skaits. Vienam un tam pašam tekstam tekstvienību skaits var atšķirties atkarībā no modeļa, tā kodējuma un valodas.

Izprotiet, kā teksts kļūst par tekstvienībām

Nosūtot tekstu modelim:

  1. Teksts tiek sadalīts tekstvienībās.

  2. Modelis apstrādā šīs tekstvienības.

  3. Modelis ģenerē izvades tekstvienības. Tās var ietvert saņemto tekstu un spriestspējas modeļos arī iekšējās spriestspējas tekstvienības, kas atbildes tekstā nav redzamas.

Angļu tekstam izmantojiet aptuvenas aplēses

Šīs aplēses var palīdzēt novērtēt angļu teksta apjomu:

  • 1 tekstvienība ir aptuveni 4 rakstzīmes.

  • 1 tekstvienība ir aptuveni trīs ceturtdaļas vārda.

  • 100 tekstvienības ir aptuveni 75 vārdi.

Tās ir aplēses, nevis precīzi skaitļi. Teikumu un rindkopu garums atšķiras, un citās valodās rakstzīmju, vārdu un tekstvienību savstarpējā attiecība var būt citāda.

Ņemiet vērā atstarpes un lielos burtus

Vārdu var sadalīt atšķirīgās tekstvienībās atkarībā no tā rakstības, lielajiem burtiem un apkārtējā teksta.

Piemēram, red, Red un red nav identisks teksts: pēdējā piemērā pirms vārda ir atstarpe. Kodējumā tie var būt attēloti atšķirīgi.

Arī tekstvienību ID ir atkarīgi no kodējuma. Neuzskatiet, ka tekstvienības ID piemērā attiecas uz visiem modeļiem.

Atšķiriet ievades un izvades tekstvienības

KategorijaKo tā raksturo
Ievades tekstvienībasPieprasījumā modelim nodotās tekstvienības. Tās sauc arī par uzvednes tekstvienībām.
Izvades tekstvienībasModeļa ģenerētās tekstvienības. Chat Completions tās sauc par pabeigšanas tekstvienībām.
Kešotās ievades tekstvienībasIevades tekstvienības, kas atkārtoti izmantotas, lietojot uzvedņu kešošanu. To cena var atšķirties no nekešotu ievades tekstvienību cenas.
Spriestspējas tekstvienībasTekstvienības, ko spriestspējas modelis izmanto iekšēji pirms redzamās atbildes izveides.

Spriestspējas tekstvienības nav redzamas atbildes tekstā, taču tās tiek ieskaitītas izvades lietojumā un apmaksātas kā izvades tekstvienības.

Tādēļ īsa redzamā atbilde var izmantot vairāk tekstvienību, nekā liecina parādītais teksts.

Saskaitiet tekstvienības pirms pieprasījuma nosūtīšanas

Skaitiet tekstvienības vienkāršā tekstā

Izmantojiet tekstvienību dalītāju, lai redzētu, kā teksts tiek sadalīts tekstvienībās.

Lai programmatiski dalītu vienkāršu tekstu tekstvienībās, izmantojiet tiktoken. Atlasiet mērķa modelim paredzēto kodējumu, piemēram, ar tiktoken.encoding_for_model(model).

Vienkārša teksta tekstvienību skaits ne vienmēr ietver visas API pieprasījuma tekstvienības. Pilnu ievades tekstvienību skaitu var ietekmēt ziņojumu struktūra, rīki, shēmas, attēli un faili.

Saskaitiet pilnas Responses ievades tekstvienības

Lai saskaitītu pilnas Responses API ievades tekstvienības, izmantojiet ievades tekstvienību skaitīšanas API.

Tas pieņem Responses ievades formātus, tostarp ziņojumus, attēlus, failus, rīkus un sarunas. Skaitā ir iekļautas pieprasījuma struktūras formatēšanas tekstvienības, piemēram, ziņojumu lomas un robežas.

Ievades tekstvienību skaits neparedz, cik izvades tekstvienību modelis ģenerēs.

Pārbaudiet faktisko tekstvienību lietojumu

Pēc pieprasījuma pārbaudiet tā lietojuma informāciju. Lauku nosaukumi atšķiras atkarībā no galapunkta:

  • Chat Completions norāda prompt_tokens, completion_tokens un total_tokens.

  • Responses norāda input_tokens, output_tokens un total_tokens.

Aktivitāti laika gaitā varat pārskatīt arī lietojuma informācijas panelī. Norādījumus, tostarp par straumēšanas lietojumu, skatiet šeit: API lietojuma un izmaksu pārskatīšana.

Ievērojiet modeļa ierobežojumus

Modeļa dokumentācijā pārbaudiet tā konteksta logu un maksimālo izvades apjomu. Šie ierobežojumi dažādiem modeļiem var atšķirties.

Konteksta logs ierobežo tekstvienību skaitu, ko modelis var apstrādāt vienā pieprasījumā. Modeļiem ir arī izvades ierobežojums. Izmantojot spriestspējas modeļus, atvēliet vietu gan spriestspējas tekstvienībām, gan redzamajai atbildei.

Ja ievade ir pārāk liela, varat:

  • Saīsināt vai pārfrāzēt uzvedni.

  • Noņemt nevajadzīgu vai atkārtotu kontekstu.

  • Sadalīt lielu ievadi mazākās daļās.

  • Pirms nosūtīšanas apkopot vai priekšapstrādāt tekstu.

Izmantojiet galapunkta un modeļa atbalstīto izvades tekstvienību iestatījumu. Chat Completions izmanto max_completion_tokens, bet Responses — max_output_tokens.

Šie pieprasījuma apjoma ierobežojumi nav saistīti ar API ātruma ierobežojumiem un mēneša lietojuma vai tēriņu ierobežojumiem. Skatiet izmantotā modeļa dokumentāciju.

Izprotiet tekstvienību cenas

Ja API cena ir balstīta uz tekstvienībām, tarifs ir atkarīgs no modeļa un tekstvienību kategorijas. Ievades, kešotās ievades un izvades tekstvienībām var būt atšķirīgas cenas. Citām API iespējām var izmantot atšķirīgas norēķinu vienības.

Pašreizējos tarifus skatiet API cenu lapā.

Salīdzinot modeļus, ņemiet vērā uzdevuma izpildei vajadzīgo tekstvienību kopskaitu un izmaksas. Zemāka cena par miljonu tekstvienību ne vienmēr nozīmē zemākas kopējās izmaksas: modeļi vienu un to pašu tekstu var dalīt tekstvienībās atšķirīgi un ģenerēt atšķirīgu izvades vai spriestspējas apjomu.

Pārbaudiet raksturīgus uzdevumus, nevis salīdziniet tikai redzamās atbildes garumu.

Ņemiet vērā vairākus pabeigtos rezultātus

Ja galapunkts un modelis atbalsta vairāku pabeigto rezultātu ģenerēšanu, arī šie papildu rezultāti izmanto tekstvienības.

Pakalpojumā Chat Completions, iestatot n virs 1, tiek ģenerētas vairākas izvēles. Maksa tiek iekasēta par visās šajās izvēlēs ģenerētajām tekstvienībām.

Mantotajā Completions API parametrs best_of var ģenerēt kandidātus, kas netiek atgriezti pilnā apjomā. Piemēram, best_of = 3 visiem kandidātiem kopā var ģenerēt līdz 3 × max_tokens pabeigšanas tekstvienībām.

Šie parametri ir specifiski katram galapunktam. Neuzskatiet, ka cita API vai modelis atbalsta n vai best_of.

Vai šis raksts bija noderīgs?