Kirjoittaja Aihe: Uusi tietomuoto TOON  (Luettu 478 kertaa)

ilkant

  • Käyttäjä
  • Viestejä: 1656
  • Kubuntu
    • Profiili
Uusi tietomuoto TOON
« : 16.11.25 - klo:21.54 »
Kyllähän tuo TOON näyttää tehokkaammalta kuin JSON. Ja aikoinaan JSON oli tehokkaampi kuin XML.

TOON: Bye Bye JSON for LLMs

JSON-muoto:
Koodia: [Valitse]
    {
       "deparments": [
            {
                "name": "data",
                "employees": [
                    { "id": 1, "name": "Jose" },
                    { "id": 2, "name": "Alice" }
                ]
            }
       
       
       ]
    }

TOON-muoto:
Koodia: [Valitse]
    deparments[1]:
      - name: data
        employees[2]{id,name}:
          1,Kpse
          2,Alice

ilkant

  • Käyttäjä
  • Viestejä: 1656
  • Kubuntu
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #1 : 16.11.25 - klo:22.00 »
TOONille on olemassa jo Python-työkalu toon-python.

SuperOscar

  • Käyttäjä
  • Viestejä: 4310
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Uusi tietomuoto TOON
« Vastaus #2 : 17.11.25 - klo:11.37 »
Eikö tuo ole vähän kuin YAML? En tiedä, mikä siinä esim. Alacrittyn kehittäjien mielestä oli pielessä, kun asetustiedoston muodoksi vaihtui TOML.
pöytäkone 1, kannettavat 1–3, NUC: Debian GNU/Linux 13;  pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14.2-RELEASE; RPi 2: LibreELEC 12

AimoE

  • Käyttäjä
  • Viestejä: 2905
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #3 : 17.11.25 - klo:12.04 »
Eikö tuo ole vähän kuin YAML?

Vähän. Tuo rivien lukumäärän ilmoittaminen etukäteen on aika ratkaiseva ero siinä käytössä, johon TOON on suunniteltu.

Snufkin

  • Käyttäjä
  • Viestejä: 762
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #4 : 17.11.25 - klo:14.25 »
Mikä tässä on hyöty jsoniin nähden? Tuo tiedoston koko toki, mutta onko muuta eroa?
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

AimoE

  • Käyttäjä
  • Viestejä: 2905
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #5 : 17.11.25 - klo:14.28 »
Kannattaisi ensin lukea se sivu, johon ilkant  antoi linkin. TOON on tehty ihan tiettyyn tarkoitukseen, ja hyötyä täytyy arvioida sitä tarkoitusta vasten. TOON ei ole tarkoitettu YAML:n tai JSON:n korvaajaksi.

ilkant

  • Käyttäjä
  • Viestejä: 1656
  • Kubuntu
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #6 : 17.11.25 - klo:18.23 »
Mikä tässä on hyöty jsoniin nähden? Tuo tiedoston koko toki, mutta onko muuta eroa?

TOONissa on noin 30 % vähemmän tekstiä kuin JSON. Ja se on paljon kun jos sitä käytetään LLM-tekoälyjen opetusmateriaaleissa. Ilmeisesti siinä syötetään ei teratavuittain vaan huikeasti isompia määriä tietoa. Siinä se ainakin vaikuttaa.

Ja minähän kokeilen yhdessä python-ohjelmassa tuota. JSON osasi aiemmin tallentaa levylle tietorakenteen ja ladata sen uudelleen muistiin. Nyt se ei enää toimi jostain syystä. Gituhubin toon-python -projektista saa sen käyttöön.

AimoE

  • Käyttäjä
  • Viestejä: 2905
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #7 : 18.11.25 - klo:06.41 »
Englanninkielisessä kuvauksessa ei puhuta tekstin vähentymisestä, vaan pienemmästä "token"-määrästä. Aaltosulkeet ovat iso osa JSON-tekstin token-määrästä, joten merkkeinä laskettuna ero tekstin määrässä ei ole iso. YAML-muotoon verrattuna TOON saattaa jopa sisältää enemmän tokeneita, sisällöstä riippuen.

Suurin ero on rakenteessa. Kun luetaan JSON-YAML-tyyppisiä tiedostoja, jäsennys tuottaa muistiin tietorakennetta, jota ei voi käsitellä ennen koko tiedosto on luettu loppuun. Olen nähnyt vain TOON-koodiesimerkkejä, enkä ole lukenut dokumentaatiota, mutta rivimäärän ilmoittaminen etukäteen viittaa siihen, että TOON-rivit voidaan heti prosessoida sitä mukaa kun niitä luetaan, ikään kuin TOON-data olisi päättymätön syötevirta. En ihan ymmärrä miksi esittelyteksti painottaa token-määrän vähennystä, kun tämä rakenteellinen ero on minun silmissäni paljon isompi optimaatio.

Rivimäärän ilmoittaminen etukäteen kuitenkin vaatii tiedoston kirjoittajalta sellaista esiprosessointia, joka ei ole kaikissa tilanteissa mielekästä. YAML vaatii kirjoittajalta paljon vähemmän kuin TOON.

JSON-muodosta varmaan aika moni haluaa päästä eroon, mutta en usko, että YAML korvautuu TOONilla.
« Viimeksi muokattu: 18.11.25 - klo:06.56 kirjoittanut AimoE »

ilkant

  • Käyttäjä
  • Viestejä: 1656
  • Kubuntu
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #8 : 18.11.25 - klo:07.28 »
Englanninkielisestä Wikipediasta luettuna Yaml sisältää kenttien nimiä tietoalkioihin. Ja jos tiedossa on sarjassa monta samanlaista tietoa, riittäisi vain kerran ilmaista kenttien nimet. Sitten on olemassa TOML, joka sanoo itse olevansa minimaalinen tilanviejä.

Tekoälyn käytön yleistyminen luo tarvetta kehittää tehokkaita tietomuotoja.

nm

  • Käyttäjä
  • Viestejä: 16846
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #9 : 18.11.25 - klo:13.44 »
En ihan ymmärrä miksi esittelyteksti painottaa token-määrän vähennystä, kun tämä rakenteellinen ero on minun silmissäni paljon isompi optimaatio.

TOONin formaatti on optimoitu LLM-prompteja varten. Siinä olennaisinta on tokenien määrä, koska se heijastuu suoraan ajon hintaan ja suoritusnopeuteen.


Rivimäärän ilmoittaminen etukäteen kuitenkin vaatii tiedoston kirjoittajalta sellaista esiprosessointia, joka ei ole kaikissa tilanteissa mielekästä. YAML vaatii kirjoittajalta paljon vähemmän kuin TOON.

TOON on tarkoitettu kirjoitettavaksi ja luettavaksi ohjelmallisesti. Ideana ei ole korvata muita formaatteja mm. asetustiedostoissa tai muissa rajapinnoissa, joita ihmisten pitää ymmärtää ja editoida.

Snufkin

  • Käyttäjä
  • Viestejä: 762
    • Profiili
Vs: Uusi tietomuoto TOON
« Vastaus #10 : 18.11.25 - klo:13.45 »
Suurin ero on rakenteessa. Kun luetaan JSON-YAML-tyyppisiä tiedostoja, jäsennys tuottaa muistiin tietorakennetta, jota ei voi käsitellä ennen koko tiedosto on luettu loppuun.
Tämä on hyvä selitys. Tuo virtautus voi olla isokin ero jossain tapauksissa.

Lainaus
JSON-muodosta varmaan aika moni haluaa päästä eroon, mutta en usko, että YAML korvautuu TOONilla.

Miksi? Eikö json ole varsin näppärä: niin koneluettava kuin ihmisluettavakin.
Xubuntu 22.04 LTS, Fujitsu Lifebook E754