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.

Kratší podle pravidel. Připraveno ke kontrole.

Jakmile repozitář vyjde, přečtěte si poznámky k implementaci, spusťte si lokální binárku sami a výsledek dejte vedle pasáže, která ho vytvořila. Signum dorazí ve třetím kole programu základního vydání, s dokumentací dostupnou téhož dne.

Hustý datový formát s publikovanými zpětnými převody.

Ohraničená cesta od otázky k doloženým důkazům.

Tkaný model, který zanechává stopu vedle odpovědi.

Migrační úloha neskončila, protože spojení s replikou se přerušilo po 30 sekundách.

migrační úloha neskončila spojení replika přerušeno 30 sekund.

Úroveň posouvá číselný řez jedním pevným pořadím slov. Také prohlubuje penalizaci spojovacích slov, jak se nastavení v rámci pasáže zvyšuje.

Připnuté pozice procházejí před rozpočtem bez ohledu na jejich pořadí. Následující ochrany vysvětlují, kde žije správnost, nikoli preference.

Osm druhů rozpětí se stane číselnými zástupci před prvním skóre. Nadpisy, citace, tabulky a ohraničené řádky jsou drženy jako celé řádky.

Po kompresi jsou zástupné symboly obnoveny, ať jsou zapsány normálně nebo malými písmeny. Výsledek zůstává bajtově identický tam, kde se na něj musí spolehnout člověk nebo stroj.

Strop je udělen dříve, než lze započítat běžné bonusy. Žádná kombinace délky, velkých písmen nebo vzácnosti ho nedosáhne.

To dělá z negace záruku, nikoli pravděpodobného přeživšího. Záleží na tom všude, kde by čistě vypadající opačné tvrzení vytvořilo tichou chybu.

Zpětný sken přeskakuje malá slova mezi částicí a jejím slovesem. Když najde akci, obě pozice získají vynucenou váhu.

Osamělá částice nezíská nic a může spadnout s výplní. Toto rozlišení udržuje set up, zatímco obyčejná předložka může projít.

Čtyřicet devět redukcí se spustí bez kontextu před začátkem řazení. Šestnáct dalších čeká na slovo, které následuje, než zasáhne.

Velké písmeno, číslice, znak cesty nebo deklarovaný termín otevře bránu. Obyčejné podstatné jméno ponechá frázi nedotčenou, protože tvrzení by se změnilo.

Próza a kód používají všech pět pozic, zatímco výstup nástroje má tři. Pět strojově tvarovaných tříd přistane na jedné pozici bez čtení číselníku.

Protokol, diff nebo sada záznamů proto produkuje stejný výsledek při každém nastavení volajícího. Klasifikace rozhodne o zacházení před začátkem komprese.

Strukturální průchod zachází s každým řádkem podle jeho role. Tabulky a pravidla procházejí, zatímco odstavce a zdvořilost se mohou zkrátit.

Otočka konverzace obsahující důkazy zůstává celá. Každá náhrada je zachována pouze tehdy, když je menší než originál.

Sekční průchod připustí sekci nad stropem, zatímco pod podlahou. Zastaví dokument, aby se nestal příliš nepatrným na odpověď.

Větný průchod se řídí pouze stropem a může řezat v rámci sekce. Dispečer nejprve zkusí cestu se dvěma limity.

Značková slova se počítají napříč třiceti pěti kódy, přičemž jedinečné značky mají hodnotu třikrát vyšší než sdílené. Jazyk musí překročit práh, než se jeho pravidla použijí.

Maďarština, finština a estonština jsou před vyhledáváním v případě potřeby lemmatizovány. Nejistý výsledek spadne zpět na obecná pravidla a odebere méně.

Každá fáze zachová výsledek pouze tehdy, když používá méně tokenů než svůj vstup. Krátká pasáž se vrátí přesně tak, jak dorazila, beze změny.

Samostatné kompresory vracejí stejný výstup, protože nic nevzorkuje. Testy potvrzují jak hranici velikosti, tak opakovatelnost.

Odstranění, podobnost a čitelnost patří do stejného měřeného běhu. Čitelnost kontroluje, že silnější úspora nezkazila prózu.

Korpus tvořilo 5 520 vět z padesáti technických dokumentů s povoleným vyhledáváním. Jiný korpus potřebuje vlastní měření, nikoli vypůjčený slib.

Každá věta je porovnána s dotazem pomocí tří gramových kódování. Překryv klíčových slov skóruje zbytek.

Polovina přežije, s minimem tří, a pak se vrátí v původním pořadí. Pasáž kratší než čtyři věty se vrátí tak, jak je napsaná.

Odchozí polovina modelového účtu je polovina, kterou může váš tým změnit. Je to sestavený kontext, často odesílaný beze změny vícekrát.

Místní pravidlo odstraní toto lešení před placeným voláním. Nevytváří druhý účet ani nemění odpověď, která se stále musí vygenerovat.

Recenzent může pojmenovat každé odstraněné slovo podle pravidla, které ho odstranilo. Označená kopie jim dává něco konkrétního k prohlédnutí a podpisu.

Shrnutí ponechává jen úsudek, kterému se má věřit proti paměti. Věta, na kterou se někdo později zeptá, je právě ta, která mohla zmizet.

Zkracování probíhá v procesu, který dokument již drží. Žádný endpoint, fronta dodavatele ani další procesor nedostane kopii.

Krok založený na pravidlech zůstává u kódu, který dokument zpracovává.

Stabilní výsledky dělají z opakovaných dokumentů užitečné položky mezipaměti. Testy ověřují přesný výstup, ne něco jen věrohodného.

Rozdíl mezi dvěma běhy je pak zjištěním, ne šumem. To dává pozdějšímu přezkumu incidentu jeden pevný, zkontrolovatelný prvek záznamu.

Příkazy, odkazy a citovaný chybový text zůstávají zcela mimo zkracování. Devět anglických slov, která obracejí tvrzení, je také chráněno.

Zkopírovaný příkaz stále funguje a citovanou chybu lze stále vyhledat. Věta se nemůže tiše změnit ve svůj opak při vysokém nastavení.

Jedna komponenta pokrývá pečlivé dopisy zákazníkům i strohé strojové protokoly. Klasifikace rozhoduje, zda je nastavení volajícího vůbec relevantní.

Protokoly, dify a záznamy lze opravit nebo zvolit samostatnou hustou cestu. To udržuje nákup na jedné komponentě místo několika nástrojů.

Průchod dokumentu ctí jak strop, tak minimum. Jeho spodní hranice udržuje kratší pasáž dostatečně podstatnou, aby odpověděla na otázku.

Průchod vět ctí pouze strop, když záleží jen na okně. Volba patří do code review, ne do uspěchaného ručního rozhodnutí.

Komponenta určuje jazyk z textu, ne z nastavení tenanta. Práh zabrání nejistému čtení v použití špatných pravidel.

Každý rozpoznaný jazyk přináší vlastní funkční slova a substituce. Jazyky s těžkými koncovkami jsou před vyhledáváním stemovány.

Každá odpověď nástroje nese bajty dovnitř, bajty ven a výslednou úsporu. Váš vlastní provoz tedy poskytuje důkazy od prvního volání.

Týden skutečných promptů promění případ v součet, ne v odhad. Žádný samostatný monitorovací systém nemusí měřit stejnou práci znovu.

Software odstraní výplň, než AI přečte dlouhou zprávu. Více z toho, co jste vložili, se vejde do stejného požadavku.

Funguje uvnitř nástroje, který zprávu již zpracovává. Nic navíc se neposílá pryč jen proto, aby byl text kratší.

Shrnutí žádá něco, aby rozhodlo, co je ve vašem dokumentu důležité. Pevná pravidla odstraňují pouze druhy slov napsané na jejich seznamu.

Můžete dát dvě kopie dohromady a vidět každé slovo, které zmizelo. To je bezpečnější než důvěřovat paměti, když na chybějící větě záleží.

Některá dlouhá slova jsou vyměněna za kratší slovo z pevné tabulky. Stejné slovo dostane stejnou výměnu v každém dokumentu.

Výsledek může znít úsečně spíše než vytříbeně. Jeho smysl zůstává přítomen a další čtenář potřebuje ten smysl, ne formální znění.

Kódy, odkazy a přesný chybový text jsou vyjmuty dříve, než začne jakékoli zkracování. Nadpisy a řádky tabulek zůstávají na místě ze stejného důvodu.

Jeden špatný znak může zastavit fungování vyhledávání, formuláře nebo příkazu. Tyto odkazy se vrátí přesně tak, jak byly napsány.

Zkracování probíhá na stroji, který text již má. Žádná nová společnost nedostane dokument, aby ho zmenšila.

Stejný odstavec se zítra vrátí také jako stejný kratší odstavec. Pokud se změní, změnilo se něco ve vstupu nebo pravidlech, ne názor.

Signum určí jazyk ze slov a písmen ve zprávě. Nemusíte dokument označovat ani konfigurovat před odesláním.

Pokud si není jistý, použije obecná pravidla a odstraní méně. Koncovky se odstraňují jako první v jazycích, kde skrývají slovo pod nimi.

Signum je knihovna v jazyce Rust pro deterministickou kompresi promptů před voláním LLM. Vyhodnocuje a zkracuje kontext v rámci procesu, který jej již drží, vrací stejný výsledek pro stejný vstup a neprovádí žádné volání modelu ani síťový požadavek. Pravidla, která rozhodují o tom, co se odstraní, stojí za přečtení: Signum vychází ve třetím kole programu základního vydání.

Signum ohodnotí každé slovo na základě pěti měřitelných signálů: délky, velkých písmen uprostřed věty, číslic, pozice a vzácnosti ve vašem oboru. Úroveň mění, kolik z tohoto pořadí přežije, nikdy ne to, co pasáž znamená.

Pět signálů tvoří skóre. Úroveň posouvá hranici, zhruba od sedmi slov z deseti na méně než dvě.

Stejný vstup prochází stejnou aritmetickou cestou, takže výsledek lze zkontrolovat a potvrdit.

Skóre je užitečné pouze tehdy, pokud se do něj některé části nikdy nedostanou.

Příkazy, odkazy, kód, zvýraznění, značky a URL se před hodnocením vyjmou a po něm se obnoví znak po znaku. Strukturální řádky se také vynechají, takže zkrácený dokument zůstane dokumentem.

Osm druhů částí se stane očíslovanými zástupnými znaky, než se seřadí první slovo.

Obnovení vrátí každý chráněný bajt zpět, včetně nadpisů, ohraničení, uvozovek a řádků tabulek.

Chráněná část není malé slovo. Je součástí rozhraní.

Devět anglických slov dostane podle pravidla maximální skóre: not, no, never, none, nor, neither, without, nothing a zero. Žádná úroveň je nemůže překonat, takže zkrácená věta nemůže tiše obrátit fakt.