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.
Kortare enligt regler. Redo att granska.
När arkivet publiceras, läs implementationsanteckningarna, kör den lokala binären själv och lägg resultatet bredvid avsnittet som producerade det. Signum kommer i tredje omgången av grundutgivningsprogrammet, med dokumentationen live samma dag.
Ett kompakt dataformat med publicerade rundresor.
En avgränsad väg från en fråga till källbelagd evidens.
En vävd modell som lämnar ett spår bredvid svaret.
migreringen avslutades inte anslutningen replikan föll 30 sekunder.
Nivån flyttar ett numeriskt snitt genom en fast ordrankning. Den fördjupar också straffet på sammanbindningsord när inställningen stiger i passagen.
Fastnålade positioner passerar före budgeten oavsett rankning. Nästa skydd förklarar var korrekthet, snarare än preferens, ligger.
Åtta spantyper blir numrerade ställföreträdare före första poängen. Rubriker, citat, tabeller och avgränsade rader hålls undan som hela rader.
Efter komprimering återställs platshållare vare sig de skrivs normalt eller med gemener. Resultatet förblir byteidentiskt där en person eller maskin behöver lita på det.
Taket beviljas innan vanliga bonusar kan räknas. Ingen kombination av längd, versaler eller sällsynthet når det.
Det gör en negation till en garanti snarare än en sannolik överlevare. Det spelar roll varhelst en snygg motsats skulle skapa ett tyst fel.
Den bakåtriktade skanningen kliver över små ord mellan en partikel och dess verb. När den hittar en handling får båda positionerna forcerad vikt.
En ensam partikel vinner ingenting och kan falla med fyllnadsordet. Den distinktionen behåller set up samtidigt som en vanlig preposition får passera.
Fyrtionio reduktioner avfyras utan kontext innan rankningen börjar. Sexton andra väntar på ordet som följer innan de agerar.
En versal, siffra, sökvägstecken eller deklarerad term öppnar grinden. Ett vanligt substantiv lämnar frasen orörd eftersom påståendet skulle ändras.
Prosa och kod använder alla fem positioner, medan verktygsutdata har tre. Fem maskinformade klasser landar på en position utan att läsa ratten.
En logg, diff eller postuppsättning ger därför samma resultat vid varje anropares inställning. Klassificeringen avgör behandlingen innan komprimeringen startar.
En strukturell pass behandlar varje rad efter dess uppgift. Tabeller och regler passerar, medan stycken och artighet kan förkortas.
En konversationsvändning som innehåller bevis förblir hel. Varje ersättning behålls endast när den är mindre än originalet.
Avsnittspasset släpper in ett avsnitt över taket men under golvet. Det hindrar ett dokument från att bli för tunt för att svara.
Meningpasset följer enbart taket och kan klippa inom ett avsnitt. Avsändaren försöker tvågränsvägen först.
Markörord räknas över trettiofem koder, med unika markörer värda tre gånger delade. Ett språk måste klara ett tröskelvärde innan dess regler tillämpas.
Ungerska, finska och estniska stamms reduceras före slagning där det krävs. Ett osäkert resultat faller tillbaka på allmänna regler och tar bort mindre.
Varje steg behåller ett resultat endast när det använder färre token än sin inmatning. En kort passage återkommer exakt som den kom, oförändrad.
Separata kompressorer ger samma utdata eftersom inget samplas. Tester bekräftar både storleksgränsen och repeterbarheten.
Borttagning, likhet och läsbarhet tillhör samma uppmätta körning. Läsbarhet kontrollerar att en starkare besparing inte förvrängde prosan.
Korpusen var 5 520 meningar från femtio tekniska dokument med slagning aktiverad. En annan korpus behöver sin egen mätning snarare än ett lånat löfte.
Varje mening jämförs med frågan med tre gramkodningar. Nyckelordsöverlappning poängsätter resten.
Hälften överlever, med ett golv på tre, och återkommer sedan i ursprunglig ordning. En passage under fyra meningar återges som den är skriven.
Den utgående hälften av en modellfaktura är den hälft som ditt team kan ändra. Den består av sammanställd kontext och skickas ofta oförändrad mer än en gång.
En lokal regel tar bort denna utfyllnad före det betalda anropet. Den skapar inte en andra faktura eller ändrar det svar som fortfarande måste genereras.
En granskare kan namnge varje borttagen term genom regeln som tog bort den. Den markerade kopian ger dem något konkret att inspektera och godkänna.
En sammanfattning lämnar bara en bedömning att lita på mot minnet. Meningen som någon frågar om senare är just den som kan ha försvunnit.
Förkortningen sker i den process som redan hanterar dokumentet. Ingen slutpunkt, leverantörskö eller extra processor får en kopia.
Det regelbaserade steget ligger kvar i koden som hanterar dokumentet.
Stabila resultat gör upprepade dokument till användbara cacheposter. Tester hävdar exakt utdata snarare än något bara rimligt.
En skillnad mellan två körningar blir då ett fynd, inte brus. Det ger en senare incidentgranskning en fast, inspekterbar del av sin logg.
Kommandon, referenser och citerad feltext hålls helt utanför förkortningen. Nio engelska ord som vänder på ett påstående skyddas också.
Ett kopierat kommando körs fortfarande och en citerad feltext kan fortfarande sökas. En mening kan inte tyst förvandlas till sin motsats vid en hög inställning.
En komponent täcker både noggranna kundbrev och raka maskinloggar. Klassificering avgör om en avsändarinställning ens är relevant.
Loggar, diffar och poster kan åtgärdas eller ta en separat tät väg. Det håller upphandlingen till en komponent istället för flera verktyg.
Dokumentpasset respekterar både ett tak och ett minimum. Dess golv håller en kortare passage tillräckligt innehållsrik för att besvara frågan.
Meningpasset respekterar bara taket när fönstret är det enda som spelar roll. Valet hör hemma i kodgranskning, inte i ett hastigt manuellt beslut.
Komponenten avgör språket från texten, inte från klientens inställningar. En tröskel hindrar en osäker läsning från att tillämpa fel regler.
Varje känt språk har sina egna funktionsord och ersättningar. Språk med tunga ändelser stammas innan uppslagningen börjar.
Varje verktygssvar innehåller byte in, byte ut och den resulterande besparingen. Din egen trafik ger därför beviset från första anropet.
En vecka med riktiga uppmaningar gör fallet till en summa snarare än en uppskattning. Inget separat övervakningssystem behöver mäta samma arbete igen.
Mjukvara tar bort utfyllnad innan en AI läser en lång rapport. Mer av det du klistrade in får plats i samma begäran.
Det fungerar i verktyget som redan hanterar rapporten. Inget extra skickas iväg bara för att göra texten kortare.
En sammanfattning ber något att avgöra vad som är viktigt i ditt dokument. Fasta regler tar bara bort de typer av ord som står på deras lista.
Du kan lägga de två kopiorna bredvid varandra och se varje ord som försvann. Det är säkrare än att lita på minnet när en saknad mening spelar roll.
Vissa långa ord byts mot ett kortare ord från en fast tabell. Samma ord får samma byte i varje dokument.
Resultatet kan låta korthugget snarare än polerat. Dess innebörd finns kvar och nästa läsare behöver den innebörden, inte den formella formuleringen.
Koder, länkar och exakt varningstext lyfts ut innan någon förkortning börjar. Rubriker och tabellrader stannar på plats av samma anledning.
Ett felaktigt tecken kan stoppa en sökning, ett formulär eller ett kommando från att fungera. Dessa referenser återkommer exakt som de skrevs.
Förkortningen sker på maskinen som redan har texten. Inget nytt företag får ett dokument för att göra det mindre.
Samma stycke ger också samma kortare stycke i morgon. Om det ändras, har något ändrats i indata eller regler, inte en åsikt.
Signum avgör språket från orden och bokstäverna i meddelandet. Du behöver inte tagga ett dokument eller konfigurera det innan du skickar det.
Om det inte är säkert använder det allmänna regler och tar bort mindre. Ändelser tas bort först i språk där de döljer ordet under.
Signum är ett Rust-bibliotek för deterministisk promptkomprimering före ett LLM-anrop. Det poängsätter och förkortar kontext i den process som redan innehåller den, returnerar samma resultat för samma indata och gör inget modellanrop eller nätverksbegäran. Reglerna som avgör vad som klipps bort är värda att läsa: Signum publiceras i den tredje omgången av grundutgivningsprogrammet.
Signum poängsätter varje ord utifrån fem mätbara signaler: längd, versaler mitt i en mening, siffror, position och sällsynthet inom ditt område. Nivån avgör hur mycket av rankingen som överlever, aldrig vad texten betyder.
Fem signaler ger poängen. Nivån flyttar gränsen, från ungefär sju ord av tio till färre än två.
Samma indata följer samma aritmetiska väg, så resultatet kan granskas och verifieras.
En poäng är bara användbar om vissa avsnitt aldrig ingår i den.
Kommandon, länkar, kod, betoning, taggar och webbadresser lyfts ut före poängsättningen och återställs tecken för tecken efteråt. Strukturella rader hålls också utanför, så ett förkortat dokument förblir ett dokument.
Åtta avsnittstyper blir numrerade ersättare innan det första ordet rankas.
Återställningen sätter tillbaka varje skyddad byte, inklusive rubriker, avgränsare, citat och tabellrader.