Jinsi ya kutumia TOON na LLMs
Iwapo umewahi kubandika safu kubwa ya JSON kwenye ChatGPT au Claude, huenda umehisi maumivu ya dirisha la muktadha kufungwa. JSON inafaa sana kwa API za wavuti, lakini kwa Miundo Kubwa ya Lugha (LLMs), ni ubadhirifu sana. Majina ya sehemu yanayorudiwa kama "id":, "jina":, na "muhuri wa muda": kwa kila rekodi si lazima tu; inawaka kupitia ishara zinazogharimu pesa halisi na nafasi ya muktadha muhimu.
Hapa ndipo TOON (Table Object Notation) inapoangaza. Sio tu umbizo la data; ni mkakati wa kuboresha mwingiliano wa LLM. Kwa kuondoa ushuru wa sintaksia ya JSON na kuongeza vichwa vya muundo wazi, TOON hukuruhusu kupitisha data zaidi kwa miundo yako na kupata matokeo yaliyoundwa yanayotegemeka zaidi.
Ishara ya Uchumi wa TOON
Kwa nini ujisumbue kubadili umbizo? Hisabati ni rahisi. Katika safu ya kawaida ya vitu vya JSON, schema inarudiwa kwa kila safu. Ikiwa una orodha ya watumiaji 50, unalipia majina ya sehemu mara 50.
TOON huondoa upungufu huu kwa kutangaza schema mara moja kwenye kichwa. Data hufuata katika umbizo mnene, lenye mkondo. Kwa mazoezi, hii kwa kawaida husababisha 30-60% kupunguzwa kwa matumizi ya tokeni kwa safu sare ikilinganishwa na JSON iliyoumbizwa. Unaposhughulika na madirisha makubwa ya muktadha au simu za API za sauti ya juu, ufanisi huo hutafsiri moja kwa moja kwa bili za chini na muda wa chini wa kusubiri.
Kutuma Data: Kanuni ya "Onyesha, Usiseme".
Unapohitaji LLM kuchanganua data, mkakati wako wa haraka ni muhimu. Wanaoanza mara nyingi huandika aya ndefu zinazoelezea muundo wa data. Ukiwa na TOON, huhitaji kufanya hivyo.
LLM ni injini zinazolingana na muundo. Wanaelewa TOON kwa njia angavu kwa sababu inaonekana kama mseto wa YAML na CSV—umbizo ambalo wameona mabilioni ya mara wakati wa mafunzo.
Ili kutuma data, funga tu kwenye kizuizi cha msimbo ulio na uzio. Unaweza kuipatia jina toon, lakini hata ikiwa kiangazia kisintaksia cha modeli hakiungi mkono rasmi, kielelezo huelewa muundo mara moja.
Mfano wa Kuingiza
Badala ya kuelezea schema, toa tu kizuizi:
Kijajuu watumiaji[3]{id,name,role,lastLogin} huambia muundo kila kitu kinachohitaji kujua: aina ya huluki, hesabu (safu 3), na mpangilio wa sehemu. Ujongezaji hushughulikia uongozi. Hali hii ya "kujiandikisha" huweka huru kidokezo chako ili kuzingatia kazi halisi ya mantiki badala ya maagizo ya uchanganuzi wa sintaksia.
Hapa kuna kumbukumbu ya shughuli za mtumiaji. Data iko katika umbizo la TOON (ujongezaji wa nafasi 2, vichwa wazi).
watumiaji[3]{id,name,role,lastLogin}:
1,Alice,msimamizi,2025-01-15T10:30:00Z
2,Bob,mtumiaji,2025-01-14T15:22:00Z
3,Charlie,mtumiaji,2025-01-13T09:45:00Z
Jukumu: Changanua kumbukumbu na utambue ni watumiaji gani ambao hawajaingia ndani ya saa 24 zilizopita.
Kuzalisha Pato la Kutegemewa
Kupata LLM hadi read data ni rahisi; kuipata kwa generate data halali iliyopangwa ndio sehemu ngumu. Wanamitindo hupenda kudanganya, kupunguza JSON, au kusahau viunga vya kufunga.
TOON huongeza safu ya usalama kupitia sintaksia ya kichwa chake, haswa hesabu ya [N]. Unapouliza mfano kutoa TOON, unaiuliza ijitolee kwa muundo kabla ya kutoa data.
Uhamasishaji kwa Kizazi
Ili kupata matokeo bora zaidi, toa umbizo la kichwa unachotarajia na uagize kielelezo kujaza safu mlalo.
Kwa kuuliza modeli kuhesabu [N], unalazimisha mchakato wa "msururu wa mawazo" ambapo mtindo lazima upange saizi ya pato. Kizuizi hiki kinachoonekana kuwa kidogo hupunguza kwa kiasi kikubwa uwezekano wa modeli kukatwa katikati ya orodha.
Kazi: Rudisha orodha ya watumiaji wanaotumika na jukumu la "mtumiaji".
Umbizo: Tumia TOON. Weka thamani ya [N] katika kichwa ili ilingane na idadi kamili ya safu mlalo unazozalisha.
Umbizo linalotarajiwa:
watumiaji[N]{id,name,role,lastLogin}:
Inathibitisha kwa Hali Madhubuti
Unapopokea jibu kutoka kwa LLM, hupaswi kuamini tu. Hapa ndipo hali madhubuti ya maktaba ya TOON inakuwa nguvu kuu kwa programu za uzalishaji.
Ikiwa unatumia maktaba ya TypeScript, kusimbua kwa hali madhubuti kunathibitisha kuwa safu mlalo zinazozalishwa zinalingana na hesabu ya vichwa:
Hii hukuruhusu kupata matokeo ya muundo "mvivu" au upunguzaji wa mtandao mara moja, badala ya kugundua data mbaya chini ya programu yako.
agiza { decode } kutoka '@toon-format/toon';
jaribu {
// Ikiwa mfano unasema [5] lakini hutoa safu 4, hii inatupa makosa.
const data = decode(modelOutput, { strict: true });
console.log('Data halali imepokelewa:', data);
} kukamata (kosa) {
console.error('Utazamaji wa kielelezo au upunguzaji umegunduliwa:', error.message);
}
Uboreshaji wa Kina: Hila ya Kichupo
Ikiwa unatatizwa na uboreshaji (na katika ulimwengu wa LLMs, labda unapaswa kuwa), unaweza kufinya ufanisi zaidi kwa kuchagua vikomo vyako kwa busara.
koma ni kawaida, lakini vichupo (\t) mara nyingi huwakilishwa kama tokeni moja katika misamiati mingi ya viashiria. Zaidi ya hayo, vichupo hazionekani ndani ya sehemu za maandishi asilia, ambayo hupunguza hitaji la herufi za kutoroka (kama vile kufunga kamba katika manukuu).
Unaweza kusimba data yako kwa kutumia vichupo kabla ya kuituma kwa modeli:
Kumbuka tu kuarifu kielelezo katika dodoso: "Data imetenganishwa kwa kichupo TOON." Hii inaunda uwakilishi wa hali ya juu ambao ni rahisi sana kwa kielelezo kuchanganua na kutengeneza.
const toonPrompt = encode(data, { delimiter: '\t' });
Mfano Kamili wa Mtiririko wa Kazi
Hebu tuangalie hali halisi ya ulimwengu: kumbukumbu za mfumo wa kuchuja. Unataka kutuma kumbukumbu mbichi kwa mfano na upate orodha iliyopangwa ya makosa.
Mwongozo:
Pato la Mfano:
Kumbukumbu za mfumo katika umbizo la TOON (zilizotenganishwa na kichupo):
matukio[4]{id,kiwango,ujumbe,muhuri wa saa}:
1,kosa,Muda wa muunganisho umekwisha,2025-01-15T10:00:00Z
2,onya,swali polepole,2025-01-15T10:05:00Z
3, maelezo, Kuingia kwa mtumiaji, 2025-01-15T10:10:00Z
4,kosa,Hitilafu ya Hifadhidata025-01-15T10:15:00Z
Kazi: Toa matukio yote kwa kiwango cha 'kosa'. Rejesha matokeo kama TOON halali na hesabu ya vichwa iliyosasishwa.
matokeo:
matukio[2]{id,kiwango,ujumbe,muhuri wa saa}:
1,kosa,Muda wa muunganisho umekwisha,2025-01-15T10:00:00Z
4,kosa,Hitilafu ya Hifadhidata,2025-01-15T10:15:00Z
Muundo ulichuja orodha kwa usahihi na, muhimu sana, ulisasisha kichwa kuwa matukio[2]. Kwa kusimbua jibu hili, unapata safu safi, ya aina-salama iliyo tayari kwa mantiki ya programu yako.
Muhtasari
TOON inaziba pengo kati ya usomaji wa binadamu na ufanisi wa mashine. Inaheshimu vikwazo vya gharama ya LLM huku ikitoa muundo unaohitajika kwa ajili ya uundaji wa programu thabiti.
- Ifanye iwe ndogo: Tumia safu mlalo 2-5 katika mifano yako; mfano utajumlisha.
- Kuwa wazi: Bainisha vichwa kwa uwazi ili modeli ijue mpangilio.
- Thibitisha kwa uthabiti: Tumia metadata ya umbizo ili kupata hitilafu za kuzalisha.
Kwa kuhama JSON kwa upakiaji wako wa haraka, hauhifadhi tokeni pekee—unaunda bomba la AI linalotegemewa zaidi.