Konwerter TOON TOML
Konwertuj pomiędzy formatami TOON i TOML, aby efektywnie wykorzystywać tokeny w modelach LLMs
Wejście
Wyjście
Instrukcja
Co to jest format TOML?
TOML (Tom's Obvious, Minimal Language) jest formatem plików konfiguracyjnych zaprojektowanym tak, aby był łatwy do odczytania i zapisania dzięki oczywistym semantykom. Stworzony przez Toma Preston-Wernera (współzałożyciela GitHub), TOML jednoznacznie odwzorowuje się na tablicę mieszającą i jest powszechnie używany w plikach konfiguracyjnych projektów Rust (Cargo.toml), narzędziach Python oraz wielu innych aplikacjach. Używa przejrzystej, minimalistycznej składni, w której sekcje oznaczane są nawiasami kwadratowymi, a pary klucz‑wartość przypominają pliki INI, ale z bogatszymi typami danych, takimi jak tablice, zagnieżdżone tabele, daty i właściwe obsługiwanie typów.
Opis narzędzia
Ten konwerter przekształca dane między formatami TOML i TOON dwukierunkowo. Konwertuj pliki konfiguracyjne TOML do tokenowo‑efektywnego formatu TOON dla przetwarzania przez LLM, lub przekształć dane TOON z powrotem do standardowego TOML. Narzędzie korzysta z oficjalnych bibliotek @toon-format/toon i smol-toml, aby zapewnić dokładną konwersję. Jest to szczególnie przydatne przy pracy z LLM‑ami w zadaniach zarządzania konfiguracją, scenariuszach infrastruktury‑jako‑kod lub w każdej sytuacji, w której trzeba przetwarzać dane TOML efektywnie pod kątem ograniczeń tokenów.
Przykłady
Wejście TOML:
[database]
server = "192.168.1.1"
ports = [8000, 8001, 8002]
enabled = true
[[servers]]
name = "alpha"
ip = "10.0.0.1"
role = "frontend"
[[servers]]
name = "beta"
ip = "10.0.0.2"
role = "backend"
Wyjście TOON:
database:
server: 192.168.1.1
ports: [8000,8001,8002]
enabled: true
servers[2]{name,ip,role}:
alpha,10.0.0.1,frontend
beta,10.0.0.2,backend
Przykład pliku konfiguracyjnego:
TOML z zagnieżdżonymi strukturami:
[app]
name = "MyApp"
version = "1.0.0"
[app.settings]
debug = false
timeout = 30
[[app.features]]
id = 1
name = "feature-a"
enabled = true
[[app.features]]
id = 2
name = "feature-b"
enabled = false
Staje się kompaktowy TOON:
app:
name: MyApp
version: 1.0.0
settings:
debug: false
timeout: 30
features[2]{id,name,enabled}:
1,feature-a,true
2,feature-b,false
Funkcje
- Dwukierunkowa konwersja między formatami TOML i TOON z pełną wiernością
- Redukcja tokenów dla przetwarzania przez LLM (30‑50 % mniej tokenów dla strukturalnych konfiguracji)
- Zachowuje semantykę TOML, w tym tabele, tablice tabel i zagnieżdżone struktury
- Konwersja typ‑bezpieczna, utrzymująca liczby całkowite, zmiennoprzecinkowe, boolowskie, łańcuchy i tablice
- Konwersja w czasie rzeczywistym z natychmiastowymi wynikami podczas pisania
Przypadki użycia
- Analiza konfiguracji przy użyciu LLM – konwertuj pliki konfiguracyjne TOML do formatu TOON przed wysłaniem ich do LLM w celu analizy, sugestii lub generowania dokumentacji przy obniżonych kosztach tokenów
- Przetwarzanie infrastruktury‑jako‑kod – przekształcaj konfiguracje Terraform, Cargo lub inne oparte na TOML, aby efektywnie przeglądać i modyfikować je przy pomocy LLM
- Zarządzanie konfiguracją CI/CD – przetwarzaj pliki konfiguracyjne buildów przez LLM w celu optymalizacji lub migracji, minimalizując koszty API
- Migracja ustawień – konwertuj ustawienia aplikacji między formatami przy integracji z narzędziami zarządzania konfiguracją napędzanymi LLM
- Generowanie dokumentacji – przygotuj konfiguracje TOML dla LLM‑owych generatorów dokumentacji, używając tokenowo‑efektywnego kodowania
Szczegóły konwersji
Konwerter prawidłowo obsługuje specyficzne cechy TOML:
- Tabele (
[section]) zamieniane są na zagnieżdżone obiekty w TOON z wcięciami - Tablice tabel (
[[array]]) konwertowane są do tabelarycznego formatu TOON, gdy są jednorodne - Tabele inline (
{key = value}) zachowują strukturę poprzez odpowiednie zagnieżdżenie - Typy danych (łańcuchy, liczby całkowite, zmiennoprzecinkowe, bool, daty) utrzymują bezpieczeństwo typów
- Tablice zamieniane są na notację tablicową TOON z właściwym formatowaniem
- Klucze z kropkami (
a.b.c = value) rozwijane są do zagnieżdżonej struktury
Efektywność tokenowa
Konwersja TOML do TOON przed przetwarzaniem przez LLM zapewnia znaczące oszczędności:
Przykładowe porównanie tokenów (50 konfiguracji serwerów):
- TOML (sformatowany): ≈ 12 500 tokenów
- TOON: ≈ 7 200 tokenów (redukcja o 42 %)
- Korzyść TOON: więcej danych w oknie kontekstu, niższe koszty API
Oszczędności są najbardziej widoczne przy:
- Powtarzających się strukturach tabel (np.
[[servers]],[[databases]]) - Tablicach podobnych obiektów konfiguracyjnych
- Dużych plikach konfiguracyjnych z jednolitymi sekcjami
- Konfiguracjach wielo‑środowiskowych o podobnej strukturze
Zgodność formatu
Obsługiwane funkcje TOML:
- Podstawowe pary klucz‑wartość
- Tabele i tabele zagnieżdżone
- Tablice tabel
- Tabele inline i tablice
- Wszystkie typy danych TOML (string, integer, float, boolean, datetime, array, table)
- Komentarze (zachowywane w strukturze, choć nie w reprezentacji TOON)
Wierność przy konwersji w obie strony: Konwersja TOML → TOON → TOML utrzymuje integralność danych, choć formatowanie i komentarze mogą zostać znormalizowane. Znaczenie semantyczne i wszystkie wartości są zachowane.
Kiedy używać tego konwertera
Używaj TOML → TOON, gdy:
- Wysyłasz pliki konfiguracyjne do LLM w celu analizy lub modyfikacji
- Przetwarzasz duże konfiguracje TOML w granicach limitu tokenów
- Przetwarzasz wsadowo wiele plików konfiguracyjnych przez API LLM
- Generujesz dokumentację z konfiguracji TOML
Używaj TOON → TOML, gdy:
- Konwertujesz konfiguracje wygenerowane przez LLM z powrotem do standardowego formatu
- Integrujesz wyjście LLM z łańcuchami narzędzi opartymi na TOML
- Tworzysz pliki konfiguracyjne edytowalne przez człowieka z danych kompaktowych
- Przygotowujesz wyjście dla aplikacji natywnie obsługujących TOML