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-3n-E2B
| Profilo del dispositivo | Modalità | Prefill (tk/s) | Decodifica (tk/s) |
|---|---|---|---|
| MacBook Pro 2023 M3 | CPU | 233 | 28 |
| MacBook Pro 2024 M4 | GPU | 2265 | 48 |
| Samsung S24 (Ultra) | CPU | 111 | 16 |
| GPU | 816 | 16 |
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 di 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) | Link di download | Dispositivo | CPU Prefill (tk/s) | Decodifica CPU (tk/s) | Riempimento GPU (token/s) | Decodifica GPU (tk/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma3-1B | Chat | 1005 | Scheda del modello | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| 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 | ||||
| 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.