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.

Gdy repozytorium zostanie opublikowane, przeczytaj notatki implementacyjne, uruchom lokalny binarny plik i umieść wynik obok fragmentu, który go wygenerował. Signum pojawia się w trzeciej rundzie programu wydań podstawowych, a jego dokumentacja jest dostępna tego samego dnia.

Gęsty format danych z opublikowanymi cyklami zwrotnymi.

Ograniczona ścieżka od pytania do udokumentowanych dowodów.

Tkany model, który pozostawia ślad obok odpowiedzi.

zadanie migracji nie zakończyło się połączenie replika przerwane 30 sekund.

migracja połączenie replika przerwane 30

Poziom przesuwa numeryczne cięcie przez jedno stałe uszeregowanie słów. Pogłębia też karę za słowa łączące, gdy ustawienie rośnie w obrębie fragmentu.

Przypięte pozycje przechodzą przed budżetem niezależnie od ich rangi. Kolejne zabezpieczenia wyjaśniają, gdzie poprawność, a nie preferencja, ma pierwszeństwo.

Osiem rodzajów fragmentów staje się ponumerowanymi zastępnikami przed pierwszym wynikiem. Nagłówki, cytaty, tabele i linie w blokach są trzymane jako całe linie.

Po kompresji symbole zastępcze są przywracane, niezależnie od tego, czy zapisano je normalnie, czy małymi literami. Wynik pozostaje identyczny bajtowo tam, gdzie osoba lub maszyna musi na nim polegać.

Sufit jest przyznawany, zanim można policzyć zwykłe bonusy. Żadna kombinacja długości, wielkich liter ani rzadkości go nie osiąga.

To czyni negację gwarancją, a nie prawdopodobnym ocalałym. Ma to znaczenie wszędzie tam, gdzie czysto wyglądające przeciwstawne stwierdzenie stworzyłoby cichy błąd.

Skan wsteczny przechodzi przez małe słowa między partykułą a jej czasownikiem. Gdy znajdzie działanie, obie pozycje zyskują wymuszoną wagę.

Samotna partykuła nic nie zyskuje i może spaść razem z wypełniaczem. To rozróżnienie utrzymuje set up, pozwalając zwykłemu przyimkowi odejść.

Czterdzieści dziewięć redukcji uruchamia się bez kontekstu przed rozpoczęciem rankingu. Szesnaście innych czeka na następne słowo, zanim zadziała.

Wielka litera, cyfra, znak ścieżki lub zadeklarowany termin otwiera bramę. Zwykły rzeczownik pozostawia frazę nietkniętą, ponieważ twierdzenie by się zmieniło.

Proza i kod używają wszystkich pięciu pozycji, podczas gdy wynik narzędzia ma trzy. Pięć klas o kształcie maszynowym ląduje na jednej pozycji bez czytania pokrętła.

Dziennik, diff lub zbiór rekordów daje zatem ten sam wynik przy każdym ustawieniu wywołującego. Klasyfikacja ustala sposób traktowania przed rozpoczęciem kompresji.

Przebieg strukturalny traktuje każdą linię według jej roli. Tabele i reguły przechodzą, podczas gdy akapity i uprzejmości mogą zostać skrócone.

Obrót rozmowy zawierający dowody pozostaje cały. Każde zastąpienie jest zachowywane tylko wtedy, gdy jest mniejsze od oryginału.

Przebieg sekcji dopuszcza sekcję ponad sufitem, gdy jest poniżej podłogi. Zapobiega to, by dokument stał się zbyt skąpy, by odpowiedzieć.

Przebieg zdania przestrzega wyłącznie sufitu i może ciąć w obrębie sekcji. Dyspozytor najpierw próbuje trasy z dwoma limitami.

Słowa znacznikowe są liczone w trzydziestu pięciu kodach, przy czym unikalne znaczniki są warte trzy razy więcej niż współdzielone. Język musi przekroczyć próg, zanim jego zasady zaczną obowiązywać.

Węgierski, fiński i estoński są poddawane stemmingowi przed wyszukiwaniem, gdy jest to wymagane. Niepewny wynik wraca do ogólnych zasad i usuwa mniej.

Każdy etap zachowuje wynik tylko wtedy, gdy używa mniejszej liczby tokenów niż jego wejście. Krótki fragment wraca dokładnie tak, jak przybył, bez zmian.

Osobne kompresory zwracają ten sam wynik, ponieważ nic nie próbkuje. Testy potwierdzają zarówno granicę rozmiaru, jak i powtarzalność.

Usuwanie, podobieństwo i czytelność należą do tego samego mierzonego przebiegu. Czytelność sprawdza, czy silniejsza oszczędność nie zniekształciła prozy.

Korpus liczył 5520 zdań z pięćdziesięciu dokumentów technicznych z włączonym wyszukiwaniem. Inny korpus wymaga własnego pomiaru, a nie zapożyczonej obietnicy.

Każde zdanie jest porównywane z zapytaniem przy użyciu trzech kodowań gram. Nakładanie się słów kluczowych punktuje resztę.

Połowa przeżywa, z minimum trzech, a następnie wraca w oryginalnej kolejności. Fragment poniżej czterech zdań zostaje zwrócony bez zmian.

Wychodząca połowa rachunku modelu to połowa, którą Twój zespół może zmienić. Jest to skontekstualizowana treść, często wysyłana bez zmian więcej niż raz.

Lokalna reguła usuwa ten szkielet przed płatnym wywołaniem. Nie tworzy drugiego rachunku ani nie zmienia odpowiedzi, która nadal musi zostać wygenerowana.

Recenzent może nazwać każde usunięte słowo regułą, która je usunęła. Oznaczona kopia daje im coś konkretnego do sprawdzenia i podpisania.

Podsumowanie pozostawia tylko ocenę, której trzeba zaufać z pamięci. Zdanie, o które ktoś zapyta później, to właśnie to, które mogło zniknąć.

Skracanie odbywa się w procesie, który już zawiera dokument. Żaden punkt końcowy, kolejka dostawcy ani dodatkowy procesor nie otrzymuje kopii.

Krok oparty na regułach pozostaje przy kodzie obsługującym dokument.

Stabilne wyniki sprawiają, że powtarzające się dokumenty stają się użytecznymi wpisami w pamięci podręcznej. Testy potwierdzają dokładne wyjście, a nie coś tylko prawdopodobnego.

Różnica między dwoma uruchomieniami jest wtedy ustaleniem, a nie szumem. To daje późniejszemu przeglądowi incydentu jeden stały, możliwy do sprawdzenia element jego zapisu.

Polecenia, odnośniki i cytowany tekst błędów pozostają całkowicie poza skracaniem. Dziewięć angielskich słów, które odwracają stwierdzenie, jest również chronione.

Skopiowane polecenie nadal działa, a cytowany błąd można nadal wyszukać. Zdanie nie może cicho zmienić się w swoje przeciwieństwo przy wysokim ustawieniu.

Jeden komponent obejmuje staranne listy do klientów i bezpośrednie logi maszynowe. Klasyfikacja decyduje, czy ustawienie rozmówcy jest w ogóle istotne.

Logi, różnice i rekordy można naprawić lub obrać osobną, gęstą ścieżkę. To ogranicza zakupy do jednego komponentu zamiast kilku narzędzi.

Przebieg dokumentu honoruje zarówno górny limit, jak i minimum. Jego dolna granica sprawia, że krótszy fragment jest wystarczająco obszerny, aby odpowiedzieć na pytanie.

Przebieg zdań honoruje tylko górny limit, gdy liczy się wyłącznie okno. Wybór należy do przeglądu kodu, a nie do pospiesznej ręcznej decyzji.

Komponent określa język na podstawie tekstu, a nie konfiguracji dzierżawcy. Próg zapobiega zastosowaniu niewłaściwych reguł przy niepewnym odczycie.

Każdy rozpoznany język ma swoje własne słowa funkcyjne i podstawienia. Języki z rozbudowaną odmianą są przetwarzane przed rozpoczęciem wyszukiwania.

Każda odpowiedź narzędzia zawiera bajty wejściowe, bajty wyjściowe i wynikające oszczędności. Twój własny ruch zapewnia więc dowody od pierwszego wywołania.

Tydzień prawdziwych zapytań zamienia przypadek w sumę, a nie szacunek. Żaden osobny system monitorowania nie musi mierzyć tej samej pracy ponownie.

Oprogramowanie usuwa nadmiar, zanim AI przeczyta długi raport. Więcej z tego, co wkleisz, może zmieścić się w tym samym żądaniu.

Działa w narzędziu, które już obsługuje raport. Nic dodatkowego nie jest wysyłane gdzie indziej tylko po to, aby skrócić tekst.

Podsumowanie wymaga, aby coś zdecydowało, co jest ważne w Twoim dokumencie. Stałe reguły usuwają tylko te rodzaje słów, które są na ich liście.

Możesz zestawić dwie kopie i zobaczyć każde słowo, które zniknęło. To bezpieczniejsze niż poleganie na pamięci, gdy brakujące zdanie ma znaczenie.

Niektóre długie słowa są zamieniane na krótsze z ustalonej tabeli. To samo słowo otrzymuje tę samą zamianę w każdym dokumencie.

Wynik może brzmieć oschle, a nie dopracowanie. Jego sens pozostaje obecny, a następny czytelnik potrzebuje tego sensu, a nie formalnego sformułowania.

Kody, linki i dokładny tekst błędów są wyjmowane przed rozpoczęciem jakiegokolwiek skracania. Nagłówki i wiersze tabel pozostają na miejscu z tego samego powodu.

Jeden błędny znak może uniemożliwić działanie wyszukiwania, formularza lub polecenia. Te odnośniki wracają dokładnie tak, jak zostały napisane.

Skracanie odbywa się na maszynie, która już ma tekst. Żadna nowa firma nie otrzymuje dokumentu, aby go zmniejszyć.

Ten sam akapit jutro również zwróci ten sam krótszy akapit. Jeśli się zmieni, coś zmieniło się w danych wejściowych lub regułach, a nie w opinii.

Signum określa język na podstawie słów i liter w wiadomości. Nie musisz tagować dokumentu ani konfigurować go przed wysłaniem.

Jeśli nie jest pewien, używa ogólnych reguł i usuwa mniej. Końcówki znikają najpierw w językach, w których ukrywają słowo pod spodem.

Signum is a Rust library for deterministic prompt compression before an LLM call. It scores and shortens context inside the process that already holds it, returns the same result for the same input, and makes no model call or network request. The rules that decide what gets cut are worth reading: Signum publishes in the third round of the foundation release programme.

Signum ocenia każde słowo na podstawie pięciu policzalnych sygnałów: długości, wielkich liter w zdaniu, cyfr, pozycji i rzadkości w Twojej dziedzinie. Poziom zmienia, ile z tego rankingu przetrwa, nigdy zaś to, co oznacza fragment.