O LiteRT-LM é um framework de inferência de código aberto pronto para produção, projetado para oferecer implantações de LLM multiplataforma de alto desempenho em dispositivos de borda.
- Suporte multiplataforma:execute no Android, iOS, Web, computador e IoT (por exemplo, Raspberry Pi).
- Aceleração de hardware:tenha desempenho máximo e estabilidade do sistema aproveitando aceleradores de GPU e NPU em diversos hardwares.
- Multimodalidade:crie com LLMs que têm suporte a visão e áudio.
- Uso de ferramentas:suporte a chamadas de função para fluxos de trabalho agênticos com decodificação restrita para maior precisão.
- Suporte a modelos amplos:execute Gemma, Llama, Phi-4, Qwen e muito mais.
Demonstração de IA generativa no dispositivo
A Galeria do Google AI Edge é um app experimental projetado para mostrar os recursos de IA generativa no dispositivo executados totalmente off-line usando o LiteRT-LM.
- Google Play: use LLMs localmente em dispositivos Android compatíveis.
- App Store: experimente a IA no dispositivo no seu dispositivo iOS.
- Fonte do GitHub: confira o código-fonte do app de galeria para saber como integrar o LiteRT-LM aos seus projetos.
Modelo em destaque: Gemma-4-E2B
- Tamanho do modelo: 2,58 GB
Outros detalhes técnicos estão no card de modelo HuggingFace
Plataforma (dispositivo) Back-end Pré-preenchimento (tk/s) Decodificação (tk/s) Tempo até o primeiro token (segundos) Memória máxima da CPU (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
Comece a criar
Os snippets a seguir mostram como começar a usar a CLI do LiteRT-LM, bem como as APIs Python, Kotlin e C++.
CLI
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;
| Idioma | Status | Ideal para... | Documentação |
|---|---|---|---|
| CLI | 🚀 Pré-lançamento |
Comece a usar o LiteRT-LM em menos de 1 minuto. | Guia da CLI |
| Python | ✅ Estável |
Prototipagem rápida, desenvolvimento, no computador e no Raspberry Pi. | Guia do Python |
| Kotlin | ✅ Estável |
Apps Android nativos e ferramentas de computador baseadas em JVM. Otimizado para corrotinas. | Guia do Android (Kotlin) |
| C++ | ✅ Estável |
Lógica principal multiplataforma de alto desempenho e sistemas incorporados. | Guia do C++ |
| Swift | 🚀 Em desenvolvimento |
Integração nativa do iOS e macOS com suporte especializado ao Metal. | Em breve |
Back-ends e plataformas compatíveis
| Aceleração | Android | iOS | macOS | Windows | Linux | IoT |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
Modelos compatíveis
A tabela a seguir lista os modelos compatíveis com o LiteRT-LM. Para números de desempenho e cards de modelo mais detalhados, acesse a comunidade LiteRT no Hugging Face.
| Modelo | Tipo | Tamanho (MB) | Detalhes | Dispositivo | Pré-preenchimento da CPU (tk/s) | Decodificação da CPU (tk/s) | Pré-preenchimento da GPU (tk/s) | Decodificação da GPU (tk/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma4-E2B | Chat | 2583 | Card de modelo | 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 | Card de modelo | 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 | Card de modelo | MacBook Pro M3 | 233 | 28 | - | - |
| Samsung S24 Ultra | 111 | 16 | 816 | 16 | ||||
| Gemma-3n-E4B | Chat | 4235 | Card de modelo | MacBook Pro M3 | 170 | 20 | - | - |
| Samsung S24 Ultra | 74 | 9 | 548 | 9 | ||||
| Gemma3-1B | Chat | 1005 | Card de modelo | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| FunctionGemma | Base | 289 | Card de modelo | Samsung S25 Ultra | 2238 | 154 | - | - |
| phi-4-mini | Chat | 3906 | Card de modelo | Samsung S24 Ultra | 67 | 7 | 314 | 10 |
| Qwen2.5-1.5B | Chat | 1598 | Card de modelo | Samsung S25 Ultra | 298 | 34 | 1668 | 31 |
| Qwen3-0.6B | Chat | 586 | Card de modelo | Vivo X300 Pro | 165 | 9 | 580 | 21 |
| Qwen2.5-0.5B | Chat | 521 | Card de modelo | Samsung S24 Ultra | 251 | 30 | - | - |
Problemas em relatórios
Se você encontrar um bug ou tiver uma solicitação de recurso, informe os problemas do GitHub do LiteRT-LM.