Context Compression for LLMs in Rust | Signum

Signum is a Rust library and CLI for deterministic context compression before an LLM call. Publishing in the third release round.

Kada repozitorij bude objavljen, pročitajte bilješke o implementaciji, sami pokrenite lokalni binarni program i stavite rezultat pored odlomka koji ga je proizveo. Signum stiže u trećem krugu programa temeljnog izdanja, a njegova dokumentacija je dostupna istog dana.

Gusti format podataka s objavljenim povratnim putovanjima.

Ograničen put od pitanja do dokaza s izvorom.

Tkani model koji ostavlja trag pored odgovora.

migracijski posao nije završio veza s replikom prekinuta 30 sekundi.

Razina pomiče numerički rez kroz jedan fiksni poredak riječi. Također produbljuje kaznu na vezne riječi kako se postavka povećava unutar odlomka.

Prikvačene pozicije prolaze ispred proračuna bez obzira na njihov rang. Sljedeće zaštite objašnjavaju gdje živi točnost, a ne preferencija.

Osam vrsta raspona postaju numerirani zamjenici prije prvog rezultata. Naslovi, citati, tablice i odvojeni redovi zadržavaju se kao cijeli redovi.

Nakon kompresije, zamjenici se vraćaju bez obzira jesu li napisani normalno ili malim slovima. Rezultat ostaje bajt-identičan tamo gdje se osoba ili stroj mora osloniti na njega.

Gornja granica dodjeljuje se prije nego što se obični bonusi mogu ubrojiti. Nijedna kombinacija duljine, velikih slova ili rijetkosti ne doseže je.

To čini negaciju jamstvom, a ne vjerojatnim preživljavanjem. Važno je svugdje gdje bi uredno izgledajuća suprotna izjava stvorila tihu pogrešku.

Unatrag skeniranje prelazi preko malih riječi između čestice i njezina glagola. Kad pronađe radnju, obje pozicije dobivaju prisilnu težinu.

Usamljena čestica ne dobiva ništa i može pasti s ispunom. Ta razlika zadržava "set up" dok običnom prijedlogu dopušta da prođe.

Četrdeset i devet redukcija aktivira se bez konteksta prije početka rangiranja. Šesnaest drugih čeka riječ koja slijedi prije djelovanja.

Veliko slovo, znamenka, znak putanje ili deklarirani pojam otvara vrata. Obična imenica ostavlja izraz netaknutim jer bi se tvrdnja promijenila.

Proza i kod koriste svih pet pozicija, dok izlaz alata ima tri. Pet strojno oblikovanih klasa završava na jednoj poziciji bez čitanja brojčanika.

Zapisnik, razlika ili skup zapisa stoga daje isti rezultat na svakoj postavci pozivatelja. Klasifikacija rješava tretman prije početka kompresije.

Strukturni prolaz tretira svaki red prema njegovoj ulozi. Tablice i pravila prolaze, dok se odlomci i ljubaznosti mogu skratiti.

Okret u razgovoru koji sadrži dokaze ostaje cijeli. Svaka zamjena zadržava se samo kad je manja od izvornika.

Prolaz odjeljaka prihvaća odjeljak iznad gornje granice dok je ispod donje granice. Sprječava da dokument postane previše lagan za odgovor.

Prolaz rečenica poštuje samo gornju granicu i može rezati unutar odjeljka. Raspoređivač prvo isprobava rutu s dvije granice.

Označne riječi broje se kroz trideset i pet kodova, pri čemu su jedinstvene oznake vrijedne tri puta više od dijeljenih. Jezik mora prijeći prag prije nego što se njegova pravila primijene.

Mađarski, finski i estonski se korijenski obrađuju prije pretraživanja gdje je potrebno. Nesiguran rezultat pada na opća pravila i uklanja manje.

Svaka faza zadržava rezultat samo kad koristi manje tokena od svog ulaza. Kratak odlomak vraća se točno onako kako je stigao, nepromijenjen.

Odvojeni kompresori vraćaju isti izlaz jer ništa ne uzorkuje. Testovi potvrđuju i granicu veličine i ponovljivost.

Uklanjanje, sličnost i čitljivost pripadaju istom mjerenom pokretanju. Čitljivost provjerava da jača ušteda nije iskvarila prozu.

Korpus je bio 5.520 rečenica iz pedeset tehničkih dokumenata s omogućenim pretraživanjem. Drugi korpus zahtijeva vlastito mjerenje, a ne posuđeno obećanje.

Svaka rečenica uspoređuje se s upitom pomoću tri gram enkodiranja. Preklapanje ključnih riječi ocjenjuje ostatak.

Pola ih preživi, uz minimalno tri, a zatim se vraćaju u izvornom redoslijedu. Odlomak kraći od četiri rečenice vraća se kako je napisan.

Izlazna polovica modela računa je polovica koju vaš tim može mijenjati. To je sastavljeni kontekst, često poslan nepromijenjen više puta.

Lokalno pravilo uklanja tu podlogu prije plaćenog poziva. Ne stvara drugi račun niti mijenja odgovor koji se i dalje mora generirati.

Recenzent može imenovati svaku uklonjenu riječ prema pravilu koje ju je uklonilo. Označena kopija daje im nešto konkretno za pregled i potpis.

Sažetak ostavlja samo prosudbu kojoj se vjeruje umjesto pamćenju. Rečenica o kojoj netko kasnije pita upravo je ona koja je možda nestala.

Skraćivanje se odvija u procesu koji već sadrži dokument. Nijedan krajnji uređaj, red čekanja dobavljača ili dodatni procesor ne prima kopiju.

Korak temeljen na pravilima ostaje uz kod koji obrađuje dokument.

Stabilni rezultati čine ponovljene dokumente korisnim unosima u predmemoriju. Testovi potvrđuju točan izlaz, a ne nešto samo uvjerljivo.

Razlika između dva pokretanja tada je nalaz, a ne šum. To kasnijem pregledu incidenta daje jedan fiksni, provjerljivi dio zapisa.

Naredbe, reference i citirani tekst pogreške u potpunosti su izvan skraćivanja. Devet engleskih riječi koje preokreću izjavu također su zaštićene.

Kopirana naredba i dalje se izvršava, a citirana pogreška i dalje se može pretraživati. Rečenica se ne može tiho pretvoriti u svoju suprotnost pri visokoj postavci.

Jedna komponenta pokriva pažljiva pisma kupcima i izravne zapise stroja. Klasifikacija odlučuje je li postavka pozivatelja uopće relevantna.

Zapisnici, razlike i evidencije mogu se popraviti ili krenuti zasebnim gustim putem. To zadržava nabavu na jednoj komponenti umjesto na nekoliko alata.

Prolaz dokumenata poštuje i gornju granicu i minimum. Njegovo dno osigurava da kraći odlomak bude dovoljno sadržajan da odgovori na pitanje.

Prolaz rečenica poštuje samo gornju granicu kada je prozor jedino bitan. Izbor pripada pregledu koda, a ne žurnoj ručnoj odluci.

Komponenta određuje jezik iz teksta, a ne iz postavki stanara. Prag sprječava da nesigurno čitanje primijeni pogrešna pravila.

Svaki prepoznati kod donosi vlastite funkcijske riječi i zamjene. Jezici s teškim nastavcima podvrgavaju se stemmingu prije početka pretraživanja.

Svaki odgovor alata nosi bajtove unutra, bajtove van i rezultirajuću uštedu. Vaš vlastiti promet stoga pruža dokaze od prvog poziva.

Tjedan stvarnih upita pretvara slučaj u zbroj umjesto u procjenu. Nijedan zaseban sustav za praćenje ne mora ponovno mjeriti isti posao.

Softver uklanja višak prije nego što AI pročita dugo izvješće. Više onoga što ste zalijepili može stati u isti zahtjev.

Djeluje unutar alata koji već obrađuje izvješće. Ništa dodatno ne šalje se samo da bi se tekst skratio.

Sažetak traži da netko odluči što je važno u vašem dokumentu. Fiksna pravila samo uklanjaju vrste riječi napisane na njihovom popisu.

Možete staviti dvije kopije zajedno i vidjeti svaku riječ koja je nestala. To je sigurnije od vjerovanja pamćenju kada je važna rečenica koja nedostaje.

Neke duge riječi zamjenjuju se kraćom riječju iz fiksne tablice. Ista riječ dobiva istu zamjenu na svakom dokumentu.

Rezultat može zvučati odsječeno, a ne uglađeno. Njegovo značenje ostaje prisutno, a sljedeći čitatelj treba to značenje, a ne formalni izričaj.

Kodovi, poveznice i točan tekst upozorenja izdvajaju se prije početka skraćivanja. Naslovi i redovi tablica ostaju na mjestu iz istog razloga.

Jedan pogrešan znak može spriječiti pretraživanje, obrazac ili naredbu da rade. Te se reference vraćaju točno onako kako su napisane.

Skraćivanje se događa na stroju koji već ima tekst. Nijedna nova tvrtka ne prima dokument da bi ga smanjila.

Isti odlomak sutra također vraća isti kraći odlomak. Ako se promijeni, nešto se promijenilo u unosu ili pravilima, a ne mišljenje.

Signum određuje jezik iz riječi i slova u poruci. Ne označavate dokument niti ga konfigurirate prije slanja.

Ako nije siguran, koristi opća pravila i uklanja manje. Nastavci se prvi skidaju u jezicima gdje skrivaju riječ ispod.

Signum je Rust biblioteka za determinističku kompresiju upita prije poziva LLM-a. Ocjenjuje i skraćuje kontekst unutar procesa koji ga već sadrži, vraća isti rezultat za isti unos i ne obavlja poziv modela ni mrežni zahtjev. Pravila koja odlučuju što se izrezuje vrijedi pročitati: Signum se objavljuje u trećem krugu programa izdanja zaklade.

Signum ocjenjuje svaku riječ na temelju pet mjerljivih signala: duljine, velikih slova unutar rečenice, znamenki, položaja i rijetkosti u vašem području. Razina mijenja koliko tog poretka preživi, nikada značenje odlomka.

Pet signala čini ocjenu. Razina pomiče granicu, od otprilike sedam riječi od deset do manje od dvije.

Isti unos slijedi isti aritmetički put, pa se rezultat može provjeriti i potvrditi.

Ocjena je korisna samo ako neki dijelovi nikada ne uđu u nju.

Naredbe, poveznice, kod, naglasci, oznake i URL-ovi izdvajaju se prije ocjenjivanja i vraćaju nakon toga znak po znak. Strukturne linije također se izdvajaju, pa skraćeni dokument ostaje dokument.

Osam vrsta dijelova postaje numerirani zamjenski znakovi prije nego što se prva riječ rangira.

Vraćanje vraća svaki zaštićeni bajt, uključujući naslove, ograde, citate i retke tablica.

Zaštićeni dio nije mala riječ. Dio je sučelja.