LiteRT-LM es un framework de inferencia de código abierto listo para producción diseñado para ofrecer implementaciones de LLM de alto rendimiento y multiplataforma en dispositivos perimetrales.
- Compatibilidad multiplataforma: Se ejecuta en Android, iOS, la Web, computadoras de escritorio y IoT (p.ej., Raspberry Pi).
- Aceleración de hardware: Obtén el máximo rendimiento y la estabilidad del sistema aprovechando los aceleradores de GPU y NPU en diversos hardware.
- Multimodalidad: Compila con LLMs que tienen compatibilidad con visión y audio.
- Uso de herramientas: Compatibilidad con llamadas a funciones para flujos de trabajo de agentes con decodificación restringida para mejorar la precisión.
- Amplia compatibilidad con modelos: Ejecuta Gemma, Llama, Phi-4, Qwen y mucho más.
Demostración de IA generativa integrada en el dispositivo
La Galería de Google AI Edge es una app experimental diseñada para mostrar las capacidades de IA generativa integrada en el dispositivo que se ejecutan por completo sin conexión con LiteRT-LM.
- Google Play: Usa LLMs de forma local en dispositivos Android compatibles.
- App Store: Experimenta la IA integrada en el dispositivo en tu dispositivo iOS.
- Fuente de GitHub: Consulta el código fuente de la app de la galería para aprender a integrar LiteRT-LM en tus propios proyectos.
Modelo destacado: Gemma-3n-E2B
| Perfil del dispositivo | Modo | Completado previamente (tk/s) | Decode (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 |
Comienza a desarrollar
En los siguientes fragmentos, se muestra cómo comenzar a usar la CLI de LiteRT-LM, así como las APIs de Python, Kotlin y 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 | Estado | Ideal para... | Documentación |
|---|---|---|---|
| CLI | 🚀 Versión preliminar anticipada |
Comienza a usar LiteRT-LM en menos de 1 minuto. | Guía de la CLI |
| Python | ✅ Estable |
Prototipado y desarrollo rápidos en computadoras de escritorio y Raspberry Pi. | Guía de Python |
| Kotlin | ✅ Estable |
Apps nativas para Android y herramientas de escritorio basadas en JVM. Optimizado para corrutinas. | Guía de Kotlin |
| C++ | ✅ Estable |
Lógica central multiplataforma de alto rendimiento y sistemas integrados. | Guía de C++ |
| Swift | 🚀 En desarrollo |
Integración nativa de iOS y macOS con compatibilidad especializada con Metal. | Próximamente |
Plataformas y backends compatibles
| Aceleración | Android | iOS | macOS | Windows | Linux | IoT |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
Modelos compatibles
En la siguiente tabla, se enumeran los modelos compatibles con LiteRT-LM. Para obtener números de rendimiento y tarjetas de modelo más detallados, visita la comunidad de LiteRT en Hugging Face.
| Modelo | Tipo | Tamaño (MB) | Vínculo de descarga | Dispositivo | Completado previamente de CPU (tk/s) | Decode de CPU (tk/s) | Completado previamente de GPU (tk/s) | Decode de GPU (tk/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma3-1B | Chat | 1005 | Tarjeta de modelo | Samsung S24 Ultra | 177 | 33 | 1,191 | 24 |
| Gemma-3n-E2B | Chat | 2965 | Tarjeta de modelo | MacBook Pro M3 | 233 | 28 | - | - |
| Samsung S24 Ultra | 111 | 16 | 816 | 16 | ||||
| Gemma-3n-E4B | Chat | 4235 | Tarjeta de modelo | MacBook Pro M3 | 170 | 20 | - | - |
| Samsung S24 Ultra | 74 | 9 | 548 | 9 | ||||
| FunctionGemma | Base | 289 | Tarjeta de modelo | Samsung S25 Ultra | 2238 | 154 | - | - |
| phi-4-mini | Chat | 3906 | Tarjeta de modelo | Samsung S24 Ultra | 67 | 7 | 314 | 10 |
| Qwen2.5-1.5B | Chat | 1598 | Tarjeta de modelo | Samsung S25 Ultra | 298 | 34 | 1668 | 31 |
| Qwen3-0.6B | Chat | 586 | Tarjeta de modelo | Vivo X300 Pro | 165 | 9 | 580 | 21 |
| Qwen2.5-0.5B | Chat | 521 | Tarjeta de modelo | Samsung S24 Ultra | 251 | 30 | - | - |
Informar problemas
Si encuentras un error o tienes una solicitud de función, infórmalo en Problemas de LiteRT-LM en GitHub.