Tokenite eelkontroll enne ülesannet
Vajalik on Bee 1.0.0-beta.16 või uuem. Näited vajavad järku, mis sisaldab käsku bee token estimate. Abi saab käsuga bee token estimate --help.
Enne ülesande alustamist vali juhised, päring ja lähtekoodi väljavõtted, mille vajalikkus on juba teada. bee token estimate loeb ainult sinu selgelt valitud faile ja suunatud standardsisendit. See töötab võrguühenduseta, ilma lähtestamise, andmebaasi, teenusepakkuja päringu või kodeerimisandmete allalaadimiseta käivitamisel. Käsk ei täida ülesannet, ei avasta selle konteksti ega ennusta agendi tööd.
Ülesande töövoog
Jaotis „Ülesande töövoog”- Vali teadaolev kontekst, sealhulgas kohustuslikud juhised. Koodi ülevaatusel võivad need olla ülevaatuse päring ning asjakohased lähtekoodi ja testide väljavõtted. Koosta alternatiivsed valikud selgesõnaliselt.
- Hinda iga valikut sama kodeeringu ja eeldustega. Kontrolli nii arvu kui ka seda, kas valik toetab endiselt ülesannet.
- Vali kontekst ja täida ülesanne eraldi. Väiksem arv üksi ei tõesta paremat kvaliteeti ega tokenite säästu; vajaliku teabe eemaldamine võib tekitada lisatööd.
- Seejärel uuri selgelt valitud toetatud seansilogi olemasoleva mõõdetud kasutuse käsuga. Hoia salvestatud tähelepanekud eelnevalt eraldatud eelarvest lahus.
Kuus väikest näidet
Jaotis „Kuus väikest näidet”Järgmine Bash/zsh ettevalmistus loob sünteetilise teksti ja tühja eraldi Bee profiili väljaspool tööpuud. pwd -P leiab füüsilise kataloogi; macOS-is on /tmp ise sümbollink, seega tuleb kasutada füüsilist juurt /private/tmp all.
demo_dir="$(mktemp -d "${TMPDIR:-/tmp}/bee-token-demo.XXXXXX")"demo_dir="$(cd "$demo_dir" && pwd -P)"mkdir "$demo_dir/profile"printf 'Hello world!\n' > "$demo_dir/prompt.txt"printf 'Review the tests.\n' > "$demo_dir/context.txt"chmod 444 "$demo_dir/prompt.txt" "$demo_dir/context.txt"1. Hinda üht faili
Jaotis „1. Hinda üht faili”BEE_HOME="$demo_dir/profile" bee token estimate --root "$demo_dir" --file prompt.txt --jsonFailis on koos lõpureavahetusega 13 UTF-8 baiti ja 13 UTF-16 ühikut. Vaikimisi heuristik utf16-ceil-div4@1 annab input.estimatedTokensPerCall: 4. See ümardab utf16Units / 4 üles iga sisendi jaoks eraldi ja liidab tulemused. See on hinnang, mitte tokeniseerija loendus ega ülempiir. Kaks üheühikulist sisendit annavad seega kokku kaks, kuigi ühendatuna annaksid need ühe.
2. Vali suunatud standardsisend ja kodeering
Jaotis „2. Vali suunatud standardsisend ja kodeering”printf 'Hello world!' | BEE_HOME="$demo_dir/profile" bee token estimate --stdin --encoding o200k_base --jsonSellel tekstil pole lõpureavahetust: 12 baiti, 12 UTF-16 ühikut ja kodeeringuga o200k_base 3 tokenit. Standardsisendit loetakse ainult lipuga --stdin ja see peab olema suunatud. Ainult standardsisendi korral juurkataloogi ei avata. Ühe --stdin võib ühendada korduvate --file valikutega.
3. Eralda eelarve korduvatele kutsetele
Jaotis „3. Eralda eelarve korduvatele kutsetele”BEE_HOME="$demo_dir/profile" bee token estimate --root "$demo_dir" \ --file prompt.txt --file context.txt --encoding cl100k_base \ --calls 3 --output-budget 2000 --jsonFailide panused on 3 ja 4 tokenit: 7 kutse kohta. --calls 3 tähendab kolme sõltumatut kutset iga kord sama valitud sisendiga. See ei simuleeri vestluse kasvu, korduskatseid, tööriistu ega tihendamist. --output-budget 2000 on sinu eraldatud eelarve kutse kohta, sealhulgas kavandatud arutlusosa; see ei ennusta väljundit ega kehtesta genereerimispiiri.
| Stsenaariumi väli | Väärtus |
|---|---|
inputEstimatedTokens |
21 = 3 × 7 |
outputAllocatedTokens |
6000 = 3 × 2000 |
totalAllocatedTokens |
6021 = 3 × (7 + 2000) |
4. Peida read, säilitades kogusumma
Jaotis „4. Peida read, säilitades kogusumma”BEE_HOME="$demo_dir/profile" bee token estimate --root "$demo_dir" \ --file prompt.txt --file context.txt --encoding cl100k_base \ --calls 3 --output-budget 2000 --limit 0 --jsoncontributors on tühi, kuid eelnevad sisendi ja stsenaariumi kogusummad ei muutu. projection näitab returned: 0, omitted: 2, omittedEstimatedTokens: 7. --limit piirab nähtavaid panuseridu, mitte sisendite valikut ega loendamist. Kasuta tühikuga kuju --limit 0; --limit=0 ei ole lubatud.
5. Võrdle teist kontekstivalikut
Jaotis „5. Võrdle teist kontekstivalikut”BEE_HOME="$demo_dir/profile" bee token estimate --root "$demo_dir" \ --file prompt.txt --encoding cl100k_base \ --calls 3 --output-budget 2000 --jsonSama kodeeringu, kutsete arvu ja väljundieelarvega ainult prompt.txt valimine annab 3 tokenit kutse kohta, 9 sisenditokenit stsenaariumis ja kogueralduse 6009. Võrdlus mõõdab muudetud valikut: testide ülevaatamise juhis jäetakse välja. Otsusta, kas see puudujääk sobib tegeliku ülesandega. Väiksem arv ei tõesta samaväärset tööd ega tegelikku säästu.
6. Erista selgesõnalist nulli teadmata väärtusest
Jaotis „6. Erista selgesõnalist nulli teadmata väärtusest”printf '' | BEE_HOME="$demo_dir/profile" bee token estimate --stdin --output-budget 0 --jsonTühi tekst on lubatud: sisendi arv on null ja selgesõnaline nulline väljundieelarve annab kogueralduseks nulli. Näidetes 1 ja 2 puudub --output-budget, mistõttu outputBudgetPerCall, outputAllocatedTokens ja totalAllocatedTokens jäävad väärtusele null. Teadmata ei tähenda nulli. Ka selgesõnaline nulline eraldis ei näita hilisema ülesande tegelikku tarbimist.
Vali loendusmeetod
Jaotis „Vali loendusmeetod”--encoding lubab väärtusi heuristic (vaikimisi), o200k_base ja cl100k_base. Selgesõnalised kodeeringud kasutavad pakendatud Microsoft.ML.Tokenizers teeki ja vastavaid kodeerimisandmeid versiooniga 2.0.0. Need loendavad tavalist teksti täpselt valitud teostuse järgi. Erinimedena näivad stringid, näiteks <|endoftext|>, jäävad tavaliseks tekstiks. Puuduvate kodeerimisandmete korral tagastatakse encoding_unavailable; heuristikule ei minda vaikimisi üle.
Vaikimisi mudelivastendust ega teenusepakkuja ühilduvuse väidet pole. Valitud teksti täpne loendus ei hõlma tervet päringut: sõnumite struktuur, peidetud raamistik ning valimata süsteemi- ja tööriistamääratlused jäävad välja. Iga sisend loendatakse eraldi ja arvud liidetakse. Kui soovid mõõta eraldajatega kokkupandud teksti, anna kogu tekst ühe faili või standardsisendina.
Loe aruannet
Jaotis „Loe aruannet”Iga tulemus on üks kompaktne JSON-dokument koos lõpureavahetusega, ka ilma liputa --json. Edukas hinnang sisaldab schemaVersion: 1, status: complete ja scope: selected_text_only. estimator näitab meetodit ja versioone; input sisaldab täpseid baidi- ja ühikusuurusi ning tokenite arvu kutse kohta.
Panuste järjekorranumbrid järgivad algset faili/stdin valikute järjekorda alates 1-st. Read järjestatakse tokenite arvu järgi kahanevalt, seejärel UTF-16 ühikute järgi kahanevalt ja viimaks järjekorranumbri järgi. projection arvestab ka välja jäetud ridu. --limit vaikeväärtus on 20 ja vahemik 0–64. --calls vaikeväärtus on 1 ning vahemik 1–1000000; valikuline --output-budget lubab 0–1000000000. Arvväärtused koosnevad märgita ASCII kümnendnumbritest.
Loend unknown hõlmab tegelikku tulevast väljundit ja arutlust, tulevasi tööriistatulemusi ja voore, vestluse kasvu ja tihendamist, valimata süsteemi/tööriistu/raamistikku, vahemälu käitumist ning teenusepakkuja kasutust ja arveldust. money on null: hinda ei arvutata. Nendest arvudest ei saa tuletada vahemälutokeneid ega tegelikku teenusepakkuja kasutust.
Sisend, privaatsus ja keeldumise piirid
Jaotis „Sisend, privaatsus ja keeldumise piirid”Failivalikud kasutavad suhtelisi / teid füüsilise absoluutse --root all; selle puudumisel kasutatakse aktiivset kataloogi. Kataloogi ei skannita. Juurest väljumine, lingid juur- või failiteel, kõvalingid, sama füüsilise faili korduv valimine ja ebaregulaarsed failid, näiteks FIFO-d, lükatakse tagasi. Vali tavaline koopia lubatud füüsilise juure sees; ära kasuta piiri ületamiseks sümbollinki. Levinud tundlike failide nimed lükatakse tagasi, kuid see pole üldine saladuste tuvastaja.
Sisend peab olema lihttekst rangelt korrektses UTF-8 vormingus. UTF-8 BOM loetakse U+FEFF-ina; CRLF ja lõpureavahetused säilivad. Kärpimist, normaliseerimist ega vigaste baitide asendamist ei toimu. Vigane UTF-8, UTF-16/32 BOM-id ja NUL-tekst lükatakse tagasi. Aruanne ei väljasta sisu, failinimesid, teid ega privaatse sisendi räsi ning käsk ei salvesta valikut püsivalt. Failide korduskontroll on parima pingutuse põhine: snapshot: checked_unchanged_not_atomic ei taga atomaarset hetktõmmist.
| Piir | Käitumine |
|---|---|
| 64 valitud sisendit, kaasa arvatud stdin | Ainult selgesõnalised valikud |
| 256 KiB (262144 baiti) sisendi kohta; kokku 1 MiB (1048576 baiti) | Liiga suur sisend lükatakse tagasi, mitte ei kärbita |
| 32 KiB (32768 baiti) JSON-i koos lõpureavahetusega | Liiga suur väljund annab output_limit, mitte lõigatud JSON-i |
| Täpse kodeeringu tööpiir | Kõigi sisendite loomulike eeltokenitükkide UTF-8 baidipikkuste ruutude summa peab olema ≤67108864; üks tükk võib olla kuni 8192 baiti |
Pikk katkematu tekst võib ületada täpse režiimi tööpiiri ka lubatud toorbaitide mahu sees. Kogu hinnang ebaõnnestub siis koodiga tokenization_limit ja kogusummad on null; tükeldamist, kärpimist ega varumeetodile üleminekut ei toimu. Kodeeringutel on ka 250 ms ajapiir regex-toimingu kohta (encoding_timeout). 10-sekundiline vastuvõtutähtaeg kasutab koostöist tühistamist; blokeeritud sünkroonse failisüsteemi- või väljunditoimingu puhul ei saa lubada ranget kümnesekundilist lõpetamist.
| Väljumiskood | Tähendus ja järgmine samm |
|---|---|
0 |
Täielik hinnang või abi; kontrolli siiski ulatust, teadmata väärtusi ja väljajätte |
4 |
Vigased argumendid (invalid_usage); kontrolli kirjapilti, vahemikke, valikut ja korduvaid lippe |
5 |
Tagasilükatud sisend, käitus- või väljundiviga; uuri errorCode ja valikulist errorInputOrdinal väärtust |
Näiteks stdin_not_redirected nõuab toru või suunamist, missing olemasolevat valitud faili, invalid_unicode/invalid_text korrektset UTF-8 lihtteksti ning file_byte_limit/total_byte_limit väiksemat selgesõnalist valikut. Tee/lingi tagasilükkamine tähendab, et valitud tee ei vasta füüsilise faili piirile. Sisendi/käituse viga annab status: incomplete, argumendiviga status: invalid. Mõlemad jätavad estimator, input, projection ja scenario väärtuseks null ning panuseloendi tühjaks. Osalist sisendi kogusummat ei avaldata. Väljundi kirjutusviga võib jätta transpordile pooliku alguse; kood 5 pole kasutatav JSON-edutulemus.
Täida ülesanne ja uuri seejärel salvestatud kasutust
Jaotis „Täida ülesanne ja uuri seejärel salvestatud kasutust”Kui ülesanne on tegelikult täidetud, kasuta toetatud kohalikku logi ja selle täpset native thread UUID-d olemasoleva käsuga:
bee budget --measured --harness codex \ --session 11111111-1111-4111-8111-111111111111 \ --log /absolute/physical/path/to/rollout.jsonl --jsonAsenda näite UUID ja tee täpse uuritava lõime ja logiga. Kõik kolm valikut on kohustuslikud; Bee ei leia uusimat seanssi automaatselt. Konteksti suuruse juhend sisaldab sünteetilise logi näidet ning selgitab salvestatud loendureid, hinnangulisi ajaloo lähteväärtusi ja puudulikke tõendeid. Hoia response- ja history-vood eraldi; ära liida neid ega järelda eelkontrolli võrdlusest arveldust, täielikku salvestust, vahemälusäästu või põhjuslikkust.
Konteksti uurimiseks ja duplikaadikandidaatide leidmiseks jätka konteksti suuruse juhendiga; süntaksi jaoks kasuta käskude viidet.