🚧 Pagina in costruzione
Questa pagina è ancora in lavorazione. Il contenuto è incompleto e non revisionato.
ttok¶
ttok
è un altro strumento creato da Simon Willison, per contare il numero di token di un testo e/o troncarlo in base a un numero desiderato di questi.
Cosa sono i token?
I token sono le unità base in cui gli LLM suddividono il testo per elaborarlo. Un token può essere una parola intera, parte di una parola, un carattere di punteggiatura o anche uno spazio. Ad esempio, la frase "Ciao mondo!" potrebbe essere divisa in 3 token: "Ciao", " mondo", "!".
È fondamentale conoscere il numero di token perché i modelli LLM hanno un limite massimo di token che possono elaborare, in input e output. Inoltre il costo dell'utilizzo di un modello LLM è spesso calcolato in base al numero di token elaborati.
ttok
è scritto in Python e si può installare con pip
o con uv
:
Il modello di default utilizzato per il conteggio dei token è quello di GPT-3.5 e GPT-4.
Utilizzo¶
Base¶
Il comando base si può lanciare così:
In output si ottiene il numero di token:
Oppure è possibile fargli leggere l'output di un comando, come ad esempio curl
e conteggiare il numero di token della pagina web su Wikipedia dedicata a Aaron Swartz:
In questo caso si hanno circa 230.000
token di output. Questo si può passare a un LLM
tramite llm
cli per chiedere di riassumere il testo per un messaggio da inviare in chat:
curl -kL 'https://en.wikipedia.org/wiki/Aaron_Swartz' | \
llm "mi scrivi un messaggio breve per stimolare le persone a scoprire chi è Aaron. Lo invierò in chat" | ttok
In output si ottiene qualcosa come il testo di sotto, che è lungo circa 70
token:
Hai mai sentito parlare di Aaron Swartz? 🤔 Era un genio, un attivista e un pioniere del web. La sua storia è incredibile e ti farà riflettere sul futuro di internet e della conoscenza. Scoprilo anche tu! 😉"
Conoscendo il numero di token di input e di output, in base al modello di LLM scelto, si può calcolare il costo del servizio.
Troncare il testo a un certo numero di token¶
Se si vuole troncare il testo a un certo numero di token, si può usare l'opzione -t
seguita dal numero di token desiderato. Ad esempio, per troncare il testo a 10
token:
In output si ottiene il testo troncato:
Visualizzare i token¶
Per visualizzare i token di un testo, si può usare l'opzione --encode
:
In output si ottengono gli ID dei token (dei 13 token del testo di esempio):
Per convertire questi ID in testo leggibile, si può usare l'opzione --decode
:
Costo dei modelli LLM per numero di token¶
Simon Willison - è sempre bene rinnovare una volta al giorno grazie Simon - ha realizzato un calcolatore di costi per token e modello, che permette di calcolare il costo del servizio.