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.

Skupine algoritmov glede na vrsto podatkov

Krajše po pravilih. Pripravljeno na pregled.

Ko repozitorij izide, preberite opombe o implementaciji, sami zaženite lokalni binarni program in rezultat postavite poleg odlomka, ki ga je ustvaril. Signum pride v tretjem krogu programa izdaje temeljev, z dokumentacijo, ki je na voljo isti dan.

Gost podatkovni format z objavljenimi povratnimi potmi.

Omejena pot od vprašanja do podprtih dokazov.

Tkan model, ki pusti sled poleg odgovora.

preselitvena naloga ni končala povezava replika prekinjena 30 sekund.

Raven premakne številčni rez skozi eno določeno razvrstitev besed. Prav tako poglobi kazen za vezne besede, ko se nastavitev dvigne znotraj odlomka.

Pripeta mesta preidejo naprej mimo proračuna ne glede na njihov rang. Naslednja pojasnila razložijo, kje živi pravilnost, ne pa želja.

Osem vrst razdelkov postane oštevilčeni nadomestki pred prvim rezultatom. Naslovi, citati, tabele in ograjene vrstice so zadržani kot cele vrstice.

Po stiskanju se nadomestki obnovijo, ne glede na to, ali so zapisani običajno ali z malimi črkami. Rezultat ostane bajtno enak tam, kjer se mora nanj zanesti oseba ali stroj.

Zgornja meja je dodeljena, preden se lahko štejejo običajni bonusi. Nobena kombinacija dolžine, velikih črk ali redkosti je ne doseže.

To naredi negacijo zagotovilo, ne le verjetnega preživetja. Pomembno je povsod, kjer bi čista nasprotna izjava ustvarila tih pogrešek.

Vzvratno skeniranje preskoči majhne besede med členkom in njegovim glagolom. Ko najde dejanje, oba položaja dobita prisiljeno težo.

Osamljen členek ne pridobi ničesar in lahko pade z odvečno vsebino. To razlikovanje ohranja »set up«, medtem ko navaden predlog lahko izgine.

Devetinštirideset redukcij se sproži brez konteksta, preden se začne razvrščanje. Šestnajst drugih počaka na besedo, ki sledi, preden ukrepa.

Velika črka, številka, znak poti ali razglašen izraz odpre vrata. Navaden samostalnik pusti frazo nedotaknjeno, ker bi se trditev spremenila.

Proza in koda uporabljata vseh pet položajev, medtem ko ima izhod orodja tri. Pet strojno oblikovanih razredov pristane na enem položaju brez branja številčnice.

Dnevnik, razlika ali niz zapisov zato daje enak rezultat pri vsaki nastavitvi klicatelja. Razvrstitev določi obravnavo, preden se začne stiskanje.

Strukturni prehod obravnava vsako vrstico glede na njeno vlogo. Tabele in pravila preidejo, medtem ko se odstavki in vljudnost lahko skrajšajo.

Del pogovora, ki vsebuje dokaze, ostane cel. Vsak nadomestek se ohrani le, če je manjši od izvirnika.

Prehod razdelkov sprejme razdelek nad zgornjo mejo, medtem ko je pod spodnjo mejo. Prepreči, da bi dokument postal preveč skop, da bi odgovoril.

Prehod stavkov upošteva samo zgornjo mejo in lahko reže znotraj razdelka. Razporejevalec najprej poskusi pot z dvema omejitvama.

Označevalne besede se štejejo po petintridesetih kodah, pri čemer so edinstveni označevalci vredni trikrat več kot deljeni. Jezik mora preseči prag, preden se uporabijo njegova pravila.

Madžarščina, finščina in estonščina se po potrebi obravnavajo z osnovnim oblikoslovjem pred iskanjem. Negotov rezultat pade nazaj na splošna pravila in odstrani manj.

Vsaka stopnja ohrani rezultat le, če uporabi manj žetonov kot njen vhod. Kratek odlomek se vrne natanko tako, kot je prišel, nespremenjen.

Ločeni stiskalniki vrnejo enak izhod, ker nič ne vzorči. Testi potrjujejo tako velikostno mejo kot ponovljivost.

Odstranjevanje, podobnost in berljivost pripadajo istemu izmerjenemu zagonu. Berljivost preveri, da močnejši prihranek ni pokvaril proze.

Korpus je obsegal 5.520 stavkov iz petdesetih tehničnih dokumentov z omogočenim iskanjem. Drug korpus potrebuje lastno meritev, ne pa izposojene obljube.

Vsak stavek se primerja s poizvedbo s tremi gram kodiranji. Prekrivanje ključnih besed oceni preostanek.

Polovica preživi, z najmanj tremi, nato se vrnejo v prvotnem vrstnem redu. Odlomek, krajši od štirih stavkov, se vrne, kot je zapisan.

Odhodna polovica modelnega računa je polovica, ki jo lahko vaša ekipa spremeni. Gre za sestavljen kontekst, ki se pogosto pošlje nespremenjen večkrat.

Lokalno pravilo odstrani to ogrodje pred plačanim klicem. Ne ustvari drugega računa in ne spremeni odgovora, ki ga je še vedno treba ustvariti.

Pregledovalec lahko poimenuje vsako odstranjeno besedo s pravilom, ki jo je odstranilo. Označena kopija mu da nekaj konkretnega za pregled in podpis.

Povzetek pusti le presojo, ki ji je treba zaupati proti spominu. Stavek, o katerem nekdo kasneje vpraša, je ravno tisti, ki je morda izginil.

Skrajšanje poteka v procesu, ki že vsebuje dokument. Nobena končna točka, čakalna vrsta dobavitelja ali dodatni procesor ne prejme kopije.

Korak, ki temelji na pravilih, ostane pri kodi, ki obravnava dokument.

Stabilni rezultati naredijo ponavljajoče se dokumente uporabne vnose v predpomnilnik. Testi preverjajo natančen rezultat, ne le nekaj verjetnega.

Razlika med dvema zagonoma je potem ugotovitev, ne šum. To daje kasnejšemu pregledu incidenta en fiksen, pregleden del zapisa.

Ukazi, sklici in citirano besedilo napak ostanejo v celoti zunaj skrajšanja. Devet angleških besed, ki obrnejo trditev, je prav tako zaščitenih.

Kopiran ukaz še vedno deluje in citirano napako je še vedno mogoče iskati. Stavek se pri visoki nastavitvi ne more tiho spremeniti v svoje nasprotje.

Ena komponenta pokriva skrbna pisma strankam in surove dnevnike strojev. Klasifikacija odloči, ali je nastavitev klicatelja sploh pomembna.

Dnevnike, razlike in zapise je mogoče popraviti ali pa gredo po ločeni gosti poti. To ohrani nabavo pri eni komponenti namesto pri več orodjih.

Prehod dokumenta spoštuje tako zgornjo kot spodnjo mejo. Njegova spodnja meja ohrani krajši odlomek dovolj vsebinski, da odgovori na vprašanje.

Prehod stavkov spoštuje samo zgornjo mejo, kadar je okno vse, kar je pomembno. Izbira sodi v pregled kode, ne v naglo ročno odločitev.

Komponenta določi jezik iz besedila, ne iz nastavitve najemnika. Prag prepreči, da bi negotovo branje uporabilo napačna pravila.

Vsaka prepoznana koda prinese svoje funkcijske besede in zamenjave. Jeziki s težkimi končnicami se pred začetkom iskanja obrezujejo.

Vsak odgovor orodja nosi bajte noter, bajte ven in nastali prihranek. Vaš lastni promet torej zagotovi dokaze že od prvega klica.

Teden resničnih pozivov spremeni primer v vsoto, ne v oceno. Noben ločen sistem za spremljanje ne mora znova meriti istega dela.

Programska oprema odstrani oblazinjenje, preden AI prebere dolgo poročilo. Več tega, kar ste prilepili, se lahko prilega v isto zahtevo.

Deluje znotraj orodja, ki že obravnava poročilo. Nič dodatnega ni poslano stran samo zato, da bi bilo besedilo krajše.

Povzetek prosi nekaj, da se odloči, kaj je pomembno v vašem dokumentu. Fiksna pravila odstranijo le vrste besed, zapisanih na njihovem seznamu.

Obe kopiji lahko postavite skupaj in vidite vsako besedo, ki je izginila. To je varneje kot zaupati spominu, kadar je manjkajoči stavek pomemben.

Nekatere dolge besede se zamenjajo s krajšo besedo iz fiksne tabele. Ista beseda prejme isto zamenjavo v vsakem dokumentu.

Rezultat lahko zveni odrezano, ne pa izpiljeno. Njegov pomen ostane prisoten in naslednji bralec potrebuje ta pomen, ne formalnega besedila.

Kode, povezave in natančno besedilo opozoril se dvignejo ven, preden se začne kakršno koli skrajšanje. Naslovi in vrstice tabel ostanejo na mestu iz istega razloga.

En napačen znak lahko ustavi iskanje, obrazec ali ukaz. Ti sklici se vrnejo natanko tako, kot so bili zapisani.

Skrajšanje se zgodi na napravi, ki že ima besedilo. Nobeno novo podjetje ne prejme dokumenta, da bi ga naredilo manjšega.

Isti odstavek jutri vrne tudi isti krajši odstavek. Če se spremeni, se je nekaj spremenilo v vhodu ali pravilih, ne mnenje.

Signum ugotovi jezik iz besed in črk v sporočilu. Dokumenta ni treba označiti ali konfigurirati pred pošiljanjem.

Če ni prepričan, uporabi splošna pravila in odstrani manj. Končnice se najprej odstranijo v jezikih, kjer skrivajo besedo pod njimi.

Signum je Rust knjižnica za deterministično stiskanje pozivov pred klicem LLM. Oceni in skrajša kontekst v procesu, ki ga že ima, vrne enak rezultat za isti vnos ter ne opravi klica modela ali omrežne zahteve. Pravila, ki odločajo, kaj se izreže, so vredna branja: Signum izide v tretjem krogu programa izdaje temeljev.

Signum vsako besedo oceni po petih števnih signalih: dolžina, velike začetnice znotraj stavka, števke, položaj in redkost na vašem področju. Raven spremeni, koliko tega razvrščanja preživi, nikoli pa ne spremeni pomena besedila.

Pet signalov oblikuje oceno. Raven premakne mejo, od približno sedmih besed od desetih do manj kot dveh.

Isti vhod sledi isti aritmetični poti, zato je rezultat mogoče preveriti in potrditi.

Ocena je uporabna le, če nekateri deli vanjo nikoli ne vstopijo.

Ukazi, povezave, koda, poudarki, oznake in URL-ji se pred ocenjevanjem izločijo in po koncu obnovijo znak za znakom. Strukturne vrstice so prav tako izvzete, zato skrajšan dokument ostane dokument.

Osem vrst delov postane oštevilčeni nadomestki, preden se prva beseda razvrsti.

Obnovitev vrne vsak zaščiteni bajt, vključno z naslovi, ograjami, navedki in vrsticami tabel.