Interfaccia a riga di comando LiteRT-LM

L'interfaccia a riga di comando (CLI) ti consente di testare immediatamente i modelli, senza bisogno di codice.

Piattaforme supportate:

  • Linux
  • macOS
  • Windows
  • Raspberry Pi

Installazione

Esegui litert-lm immediatamente senza installarlo in modo permanente. Richiede uv.

Puoi aggiungere il prefisso uvx a qualsiasi comando litert-lm per eseguirlo on demand:

uvx litert-lm run --help

Metodo 2: uv (installazione persistente)

Installa litert-lm come programma binario a livello di sistema. Richiede uv.

uv tool install litert-lm

Metodo 3: pip

Installazione standard in un ambiente virtuale. L'utilizzo di --upgrade garantisce l'installazione dell'ultima versione anche se ne è già stata installata una precedente.

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade litert-lm

Upgrade in corso

Per eseguire l'upgrade di litert-lm all'ultima versione:

Se utilizzi uvx (metodo 1)

Non occorre alcun intervento. uvx esegue automaticamente l'ultima versione.

Se l'hai installato con uv (metodo 2)

uv tool upgrade litert-lm

Se l'hai installato con pip (metodo 3)

Attiva l'ambiente virtuale ed esegui:

pip install --upgrade litert-lm

Chat

Scarica da Hugging Face ed esegui il modello:

litert-lm run  \
  --from-huggingface-repo=litert-community/gemma-4-E2B-it-litert-lm \
  gemma-4-E2B-it.litertlm \
  --prompt="What is the capital of France?"

🔴 Novità: previsione multi-token (MTP)

La previsione multi-token (MTP) è un'ottimizzazione delle prestazioni che accelera notevolmente le velocità di decodifica. MTP è universalmente consigliato per tutte le attività sui backend GPU.

Per attivare MTP nella CLI, utilizza il flag --enable-speculative-decoding=true:

litert-lm run  \
  --from-huggingface-repo=litert-community/gemma-4-E2B-it-litert-lm \
  gemma-4-E2B-it.litertlm \
  --backend=gpu \
  --enable-speculative-decoding=true \
  --prompt="What is the capital of France?"

Chiamata di funzione / strumenti

Puoi eseguire gli strumenti con le preimpostazioni. Crea un file preset.py:

import datetime
import base64

def get_current_time() -> str:
    """Returns the current date and time."""
    return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

system_instruction = "You are a helpful assistant with access to tools."
tools = [get_current_time]

Esegui con la preimpostazione:

litert-lm run  \
  --from-huggingface-repo=litert-community/gemma-4-E2B-it-litert-lm \
  gemma-4-E2B-it.litertlm \
  --preset=preset.py

Esempi di prompt e output interattivo:

> what will the time be in two hours?
[tool_call] {"arguments": {}, "name": "get_current_time"}
[tool_response] {"name": "get_current_time", "response": "2026-03-25 21:54:07"}
The current time is 2026-03-25 21:54:07.

In two hours, it will be **2026-03-25 23:54:07**.

Che cosa succede?

Quando poni una domanda che richiede informazioni esterne (come l'ora attuale), il modello riconosce di dover chiamare uno strumento.

  1. Il modello emette tool_call: il modello genera una richiesta JSON per chiamare la funzione get_current_time.
  2. La CLI esegue lo strumento: la CLI LiteRT-LM intercetta questa chiamata ed esegue la funzione Python corrispondente definita in preset.py.
  3. La CLI invia tool_response: la CLI invia il risultato al modello.
  4. Il modello genera la risposta finale: il modello utilizza la risposta dello strumento per calcolare e generare la risposta finale per l'utente.

Questo loop di "chiamata di funzione" avviene automaticamente all'interno della CLI, consentendoti di aumentare i LLM locali con le funzionalità Python senza scrivere codice di orchestrazione complesso.

Le stesse funzionalità sono disponibili dalle API Python, C++, e Kotlin.

In fase di disinstallazione

Per disinstallare litert-lm:

Se utilizzi uvx (metodo 1)

Non occorre alcun intervento. uvx viene eseguito da una cache temporanea e non viene installato in modo permanente.

Se l'hai installato con uv (metodo 2)

uv tool uninstall litert-lm

Se l'hai installato con pip (metodo 3)

pip uninstall litert-lm