LiteRT-LM è un framework di inferenza open source pronto per la produzione progettato per offrire deployment di LLM multipiattaforma ad alte prestazioni su dispositivi edge.
- Supporto cross-platform:esegui su Android, iOS, web, computer e IoT (ad es. Raspberry Pi).
- Accelerazione hardware:ottieni prestazioni di picco e stabilità del sistema sfruttando gli acceleratori GPU e NPU su hardware diversi.
- Multimodalità:crea con LLM che supportano la visione e l'audio.
- Utilizzo degli strumenti:supporto della chiamata di funzioni per flussi di lavoro agentici con decodifica vincolata per una maggiore precisione.
- Ampio supporto di modelli:esegui Gemma, Llama, Phi-4, Qwen e altri.
Showcase dell'AI generativa sul dispositivo
La galleria Google AI Edge è un'app sperimentale progettata per mostrare le funzionalità di AI generativa sul dispositivo, eseguite interamente offline utilizzando LiteRT-LM.
- Google Play: utilizza i LLM localmente sui dispositivi Android supportati.
- App Store: prova l'AI sul dispositivo iOS.
- Origine GitHub: visualizza il codice sorgente dell'app galleria per scoprire come integrare LiteRT-LM nei tuoi progetti.
Modello in evidenza: Gemma-4-E2B
- Dimensione modello: 2,58 GB
Ulteriori dettagli tecnici sono disponibili nella scheda del modello Hugging Face.
Piattaforma (dispositivo) Backend Prefill (tk/s) Decodifica (tk/s) Tempo al primo token (secondi) Memoria CPU di picco (MB) Android (S26 Ultra) CPU 557 47 1,8 1733 GPU 3808 52 0,3 676 iOS (iPhone 17 Pro) CPU 532 25 1.9 607 GPU 2878 56 0,3 1450 Linux (Arm 2,3 e 2,8 GHz, NVIDIA GeForce RTX 4090) CPU 260 35 4 1628 GPU 11234 143 0,1 913 macOS (MacBook Pro M4) CPU 901 42 1.1 736 GPU 7835 160 0,1 1623 IoT (Raspberry Pi 5 16GB) CPU 133 8 7,8 1546
Inizia a creare
I seguenti snippet mostrano come iniziare a utilizzare la CLI LiteRT-LM, nonché le API Python, Kotlin e C++.
Interfaccia a riga di comando
litert-lm run model.litertlm --prompt="What is the capital of France?"
Python
engine = litert_lm.Engine("model.litertlm")
with engine.create_conversation() as conversation:
response = conversation.send_message("What is the capital of France?")
print(f"Response: {response['content'][0]['text']}")
Kotlin
val engineConfig = EngineConfig(
modelPath = "/path/to/your/model.litertlm",
backend = Backend.CPU(),
)
val engine = Engine(engineConfig)
engine.initialize()
val conversation = engine.createConversation()
print(conversation.sendMessage("What is the capital of France?"))
C++
auto model_assets = ModelAssets::Create(model_path);
CHECK_OK(model_assets);
auto engine_settings = EngineSettings::CreateDefault(
model_assets,
/*backend=*/litert::lm::Backend::CPU);
absl::StatusOr<std::unique_ptr<Engine>> engine = Engine::CreateEngine(engine_settings);
CHECK_OK(engine);
auto conversation_config = ConversationConfig::CreateDefault(**engine);
CHECK_OK(conversation_config);
absl::StatusOr<std::unique_ptr<Conversation>> conversation = Conversation::Create(**engine, *conversation_config);
CHECK_OK(conversation);
absl::StatusOr<Message> model_message = (*conversation)->SendMessage(
JsonMessage{
{"role", "user"},
{"content", "What is the capital of France?"}
});
CHECK_OK(model_message);
std::cout << *model_message << std::endl;
| Lingua | Stato | Ideali per… | Documentazione |
|---|---|---|---|
| CLI | 🚀 Anteprima |
Inizia a utilizzare LiteRT-LM in meno di 1 minuto. | Guida alla CLI |
| Python | ✅ Stabile |
Prototipazione rapida, sviluppo su desktop e Raspberry Pi. | Guida a Python |
| Kotlin | ✅ Stabile |
App Android native e strumenti desktop basati su JVM. Ottimizzato per le coroutine. | Guida per Android (Kotlin) |
| C++ | ✅ Stabile |
Logica di base multipiattaforma e sistemi incorporati ad alte prestazioni. | Guida C++ |
| Swift | 🚀 In Dev |
Integrazione nativa di iOS e macOS con supporto Metal specializzato. | Presto disponibile |
Backend e piattaforme supportati
| Accelerazione | Android | iOS | macOS | Windows | Linux | IoT |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
Modelli supportati
La seguente tabella elenca i modelli supportati da LiteRT-LM. Per numeri di rendimento e schede del modello più dettagliati, visita la community LiteRT su Hugging Face.
| Modello | Tipo | Dimensione (MB) | Dettagli | Dispositivo | CPU Prefill (tk/s) | Decodifica CPU (tk/s) | Riempimento GPU (token/s) | Decodifica GPU (tk/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma4-E2B | Chat | 2583 | Scheda del modello | Samsung S26 Ultra | 557 | 47 | 3808 | 52 |
| iPhone 17 Pro | 532 | 25 | 2878 | 57 | ||||
| MacBook Pro M4 | 901 | 42 | 7835 | 160 | ||||
| Gemma4-E4B | Chat | 3654 | Scheda del modello | Samsung S26 Ultra | 195 | 18 | 1293 | 22 |
| iPhone 17 Pro | 159 | 10 | 1189 | 25 | ||||
| MacBook Pro M4 | 277 | 27 | 2560 | 101 | ||||
| Gemma-3n-E2B | Chat | 2965 | Scheda del modello | MacBook Pro M3 | 233 | 28 | - | - |
| Samsung S24 Ultra | 111 | 16 | 816 | 16 | ||||
| Gemma-3n-E4B | Chat | 4235 | Scheda del modello | MacBook Pro M3 | 170 | 20 | - | - |
| Samsung S24 Ultra | 74 | 9 | 548 | 9 | ||||
| Gemma3-1B | Chat | 1005 | Scheda del modello | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| FunctionGemma | Livelli | 289 | Scheda del modello | Samsung S25 Ultra | 2238 | 154 | - | - |
| phi-4-mini | Chat | 3906 | Scheda del modello | Samsung S24 Ultra | 67 | 7 | 314 | 10 |
| Qwen2.5-1.5B | Chat | 1598 | Scheda del modello | Samsung S25 Ultra | 298 | 34 | 1668 | 31 |
| Qwen3-0.6B | Chat | 586 | Scheda del modello | Vivo X300 Pro | 165 | 9 | 580 | 21 |
| Qwen2.5-0.5B | Chat | 521 | Scheda del modello | Samsung S24 Ultra | 251 | 30 | - | - |
Segnalare problemi
Se riscontri un bug o hai una richiesta di funzionalità, segnalalo all'indirizzo LiteRT-LM GitHub Issues.