O LiteRT-LM é um framework de inferência de código aberto pronto para produção projetado para oferecer implantações de LLM de alto desempenho e multiplataforma em dispositivos de borda.
- Suporte multiplataforma:execute no Android, iOS, Web, computador e IoT (por exemplo, Raspberry Pi).
- Aceleração de hardware:tenha o máximo de desempenho e estabilidade do sistema usando aceleradores de GPU e NPU em diversos hardwares.
- Multimodalidade:crie com LLMs que oferecem suporte a visão e áudio.
- Uso de ferramentas:compatibilidade com chamada de função para fluxos de trabalho agênticos com decodificação restrita para melhorar a acurácia.
- Suporte a vários modelos:execute o Gemma, o Llama, o Phi-4, o Qwen e muito mais.
Demonstração de IA generativa no dispositivo
A Galeria do Google AI Edge é um app experimental projetado para mostrar recursos de IA generativa no dispositivo que funcionam totalmente off-line usando o LiteRT-LM.
- Google Play: use LLMs localmente em dispositivos Android compatíveis.
- App Store: aproveite 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 próprios projetos.
Modelo em destaque: Gemma-3n-E2B
| Perfil do dispositivo | Modo | Pré-preenchimento (tk/s) | Decodificação (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 |
Comece a criar
Os snippets a seguir mostram como começar a usar a CLI LiteRT-LM, além das 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 um minuto. | Guia da CLI |
| Python | ✅ Estável |
Prototipagem e desenvolvimento rápidos em computadores e Raspberry Pi. | Guia do Python |
| Kotlin | ✅ Estável |
Apps Android nativos e ferramentas de computador baseadas em JVM. Otimizado para corrotinas. | Guia do Kotlin |
| C++ | ✅ Estável |
Lógica principal e sistemas incorporados de alto desempenho e multiplataforma. | Guia do C++ |
| Swift | 🚀 Em desenvolvimento |
Integração nativa com iOS e macOS e suporte especializado ao Metal. | Em breve |
Back-ends e plataformas compatíveis
| Aceleração | Android | iOS | macOS | Windows | Linux | Internet das Coisas (IoT) |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
Modelos compatíveis
A tabela a seguir lista os modelos compatíveis com o LiteRT-LM. Para números de performance e cards de modelo mais detalhados, acesse a comunidade LiteRT no Hugging Face.
| Modelo | Tipo | Tamanho (MB) | Link de download | Dispositivo | Pré-enchimento da CPU (tk/s) | Decodificação da CPU (tk/s) | Pré-preenchimento da GPU (tk/s) | Decodificação de GPU (tk/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma3-1B | Chat | 1005 | Card de modelo | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| 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 | ||||
| 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 em Problemas do GitHub do LiteRT-LM.