
Paketinės DI API užklausos: 50 % nuolaida kainuoja laukimą

Vertinimus, klasifikavimą ir masinį turinio apdorojimą verta perkelti į paketinę API, kai atsakymo nereikia iškart ir galima atskirai sutvarkyti nepavykusias užklausas. OpenAI Batch API gairėse nurodyta 50 % mažesnė kaina nei naudojant sinchroninę API, 24 valandų apdorojimo langas ir vieno paketo ribos – iki 50 000 užklausų bei 200 MB įvesties failas. Tai tinkamas kelias iš anksto suplanuotam darbui, kurio rezultato niekas nelaukia realiuoju laiku.
Anthropic Message Batches dokumentacijoje taip pat nurodyta 50 % mažesnė kaina, iki 100 000 užklausų arba 256 MB paketo riba, 24 valandų apdorojimo langas ir tai, kad dauguma paketų baigiami greičiau nei per valandą; užklausų ir atsakymų duomenys saugomi iki 29 dienų nuo paketo sukūrimo. Įprastas užbaigimo greitis nėra terminas, kuriuo galima grįsti skubų procesą. Jei žmogus laukia atsakymo arba kitas sistemos veiksmas nuo jo priklauso tuoj pat, užklausa turi likti sinchroniniame sraute.
Terminas yra visos užduoties, ne vien modelio atsakymo
Paketams tinka periodinis dokumentų žymėjimas, vertinimo rinkinių vykdymas, istorinių įrašų klasifikavimas ar didelio katalogo aprašų rengimas. Sprendimą lemia laikas, per kurį rezultatas turi pasiekti naudojančią sistemą. Prie apdorojimo laukimo pridėkite rezultatų parsisiuntimą, formato tikrinimą, įrašymą ir galimą nepavykusių užklausų kartojimą.
Jeigu visi klasifikuoti įrašai reikalingi prieš suplanuotą publikavimą, paketą paleiskite su atsarga šiems veiksmams. Vienas vėliau atsiradęs skubus įrašas gali keliauti sinchronine API, nors likęs katalogas apdorojamas paketu. Tokia riba nustatoma pagal konkrečios užduoties terminą: tas pats modelis ir užklausos tekstas gali būti tinkami abiem vykdymo būdams.
Skaičiuoklė: kiek iš tiesų lieka nuolaidos
Sąmatą sudarykite kiekvienam modeliui ir darbo tipui atskirai. Įrašykite numatomą užklausų kiekį, įvesties bei išvesties žetonus ir pasirinktų modelių tarifus. Sinchroninio darbo modelio kaina lygi įvesties žetonų kiekiui, padaugintam iš įvesties tarifo, ir išvesties žetonų kiekiui, padaugintam iš išvesties tarifo. Jei tas pats darbas sunaudoja tiek pat žetonų paketiniame režime, modelio užklausų sąmata pagal nurodytą nuolaidą yra perpus mažesnė.
Štai sąlyginis palyginimas: jei tokio paties darbo sinchroninės užklausos kainuotų 100 €, paketinių modelio užklausų sąmata būtų 50 €. Prie jos pridėkite nesėkmingų įrašų pakartojimą, rezultatų saugojimą savo sistemoje ir diegimo bei priežiūros darbą. Nuolaida apsimoka tada, kai per pasirinktą laikotarpį sutaupyta modelio išlaidų suma viršija šias papildomas sąnaudas.
Vien užklausų skaičius šio palyginimo nepakeičia. Trumpas klasifikavimo atsakymas ir ilga santrauka gali turėti skirtingą išvesties žetonų kiekį, net jei abiem atvejais apdorojamas tas pats įrašų skaičius. Pradinei sąmatai naudokite turimų sinchroninių užklausų apskaitą, o vėliau ją tikslininkite pagal grąžintų paketinių atsakymų naudojimo duomenis.
Ribos ir duomenų saugojimas lemia pateikimo būdą
OpenAI įvestis yra JSONL failas: kiekvienoje eilutėje pateikiama atskira užklausa, o viename faile naudojamas vienas modelis. Anthropic priima Messages užklausų masyvą per API ir rezultatus grąžina JSONL įrašais. Todėl viena vidinė darbų eilė gali aptarnauti abu tiekėjus, tačiau užklausų pateikimui reikia skirtingų adapterių. Darbą skaidykite ir pagal užklausų skaičių, ir pagal duomenų dydį, nes paketą sustabdo anksčiau pasiekta riba.
Prieš siunčiant jautrų turinį svarbu atskirti savo saugyklos taisykles nuo tiekėjo duomenų laikymo. OpenAI duomenų valdymo lentelėje /v1/batches ir /v1/files pažymėti kaip netinkami Zero Data Retention režimui, o jų taikomoji būsena laikoma iki ištrynimo. Anthropic paketo rezultatus reikia pasiimti per dokumentacijoje nurodytą prieinamumo laikotarpį, skaičiuojamą nuo sukūrimo, o ne nuo apdorojimo pabaigos. Abiem atvejais iš anksto apibrėžkite, kur komandos sistemoje bus saugomi gauti rezultatai, kas juos galės pasiekti ir kada jie bus pašalinti.
Įgyvendinimo schema: nuo užduoties iki atskiro rezultato
Paketą valdykite kaip atsekamų užduočių rinkinį. Kiekvienam šaltinio įrašui priskirkite stabilų vidinį identifikatorių ir unikalų custom_id, išsaugokite modelį bei užklausos versiją. Abiejų paslaugų rezultatai gali grįžti kita tvarka nei pateiktos užklausos, todėl eilutės vieta negali būti ryšys tarp įvesties ir atsakymo.
- Suskirstykite įrašus pagal modelį, leistiną paketo dydį ir darbo terminą. OpenAI užklausas paverskite JSONL eilutėmis ir įkelkite failą; Anthropic adapteris iš tų pačių vidinių įrašų sudaro Messages užklausų masyvą.
- Savo darbų registre išsaugokite paketo identifikatorių, pateikimo laiką, tiekėją ir visus custom_id. Periodiškai tikrinkite būseną, kad žinotumėte, kada galima pasiimti rezultatus ir ar dalis užklausų baigėsi nesėkmingai.
- Gavę rezultatus, kiekvieną įrašą susiekite su pradine užduotimi pagal custom_id. OpenAI sėkmingų užklausų išvestį ir nesėkmingų užklausų klaidų failą apdorokite atskirai; Anthropic JSONL įrašuose skaitykite kiekvienos užklausos baigtį.
- Prieš įrašydami sėkmingą atsakymą patikrinkite laukiamą jo struktūrą ir užklausos versiją. Pažymėkite užduotį kaip atliktą taip, kad pakartotinis rezultatų failo nuskaitymas nesukurtų dublikato ir neperrašytų naujesnio atsakymo.
- Pakartokite tik nebaigtas užduotis. Netaisyklingą užklausą pirmiausia pataisykite; laikinai nepavykusią galima siųsti dar kartą. Jei jos terminas tapo skubus, nukreipkite ją į sinchroninę API ir užfiksuokite šį pakeitimą darbų registre.
Dalinis rezultatas gali būti naudingas: vienos užklausos klaida nereiškia, kad reikia atmesti visus sėkmingus atsakymus. Išsaugotas custom_id leidžia tiksliai nustatyti, kuriems dokumentams ar katalogo įrašams rezultato dar trūksta. Tai taip pat apsaugo nuo viso paketo kartojimo ir bereikalingų naujų modelio išlaidų.
Kurį paketinių užklausų kelią rinktis?
Jei darbas jau naudoja OpenAI Responses, Chat Completions ar embeddings užklausas ir gali būti pateiktas JSONL failu, natūralus pasirinkimas yra OpenAI Batch API. Jei užklausos kuriamos Claude Messages API, Anthropic Message Batches leidžia jas pateikti kaip masyvą. Didesnė vieno paketo riba savaime nežada greitesnio atsakymo: terminą lemia konkretus darbas ir paslaugos apdorojimas.
Prieš perkeldami darbų eilę, palyginkite jos atsakymo terminą, duomenų laikymo reikalavimus ir apskaičiuotas bendras sąnaudas. Tinkamas paketas yra tas, kurio rezultato galima laukti, kurio duomenų saugojimas priimtinas ir kurio dalines klaidas sistema sugeba atsekti. Likusioms užduotims palikite sinchroninį vykdymą.
Taip pat skaitykite:
Susiję straipsniai


JAV FTC tiria OpenAI ir Anthropic: teks aiškinti DI agentų žalą

Make ar Zapier: pigi automatizacija priklauso nuo skaičiuojamo veiksmo

OpenAI ar Claude Structured Outputs: tinkamas JSON dar negarantuoja tiesos

„Cloudflare Workers“ ar „AWS Lambda“: šaltas paleidimas keičia pasirinkimą

Failai debesyje su „Cryptomator“: šifravimas nepaslepia visų metaduomenų
Prenumeruokite mūsų naujienlaiškį
Gaukite naujausias Web3, DI ir kriptovaliutų naujienas tiesiai į savo el. pašto dėžutę.