LiteRT-LM to gotowa do zastosowań produkcyjnych platforma wnioskowania typu open source, która została zaprojektowana z myślą o wdrażaniu na urządzeniach brzegowych dużych modeli językowych o wysokiej wydajności i działających na wielu platformach.
- Obsługa różnych platform: działa na Androidzie, iOS, w internecie, na komputerach i urządzeniach IoT (np. Raspberry Pi).
- Akceleracja sprzętowa: uzyskaj maksymalną wydajność i stabilność systemu dzięki wykorzystaniu akceleratorów GPU i NPU na różnych urządzeniach.
- Multimodalność: twórz aplikacje z użyciem dużych modeli językowych, które obsługują obraz i dźwięk.
- Korzystanie z narzędzi: obsługa wywoływania funkcji w przypadku przepływów pracy agenta z ograniczonym dekodowaniem, co zwiększa dokładność.
- Szeroki zakres obsługiwanych modeli: możesz uruchamiać modele Gemma, Llama, Phi-4, Qwen i inne.
Prezentacja generatywnej AI na urządzeniu
Galeria Google AI Edge to eksperymentalna aplikacja, która prezentuje funkcje generatywnej AI na urządzeniu działające całkowicie offline przy użyciu LiteRT-LM.
- Google Play: korzystaj z LLM lokalnie na obsługiwanych urządzeniach z Androidem.
- App Store: korzystaj z AI na urządzeniu z iOS.
- Źródło GitHub: wyświetl kod źródłowy aplikacji galerii, aby dowiedzieć się, jak zintegrować LiteRT-LM z własnymi projektami.
Wyróżniony model: Gemma-4-E2B
- Rozmiar modelu: 2,58 GB
Dodatkowe szczegóły techniczne znajdziesz na karcie modelu w Hugging Face.
Platforma (urządzenie) Backend Wstępne wypełnienie (tk/s) Dekodowanie (tk/s) Czas do pierwszego tokena (w sekundach) Maksymalna pamięć procesora (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 i 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 16 GB) CPU 133 8 7.8 1546
Zacznij tworzyć
Poniższe fragmenty kodu pokazują, jak zacząć korzystać z interfejsu wiersza poleceń LiteRT-LM oraz interfejsów API w językach Python, Kotlin i C++.
Interfejs wiersza poleceń
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;
| Język | Stan | Najlepsze zastosowanie: | Dokumentacja |
|---|---|---|---|
| CLI | 🚀 Wczesna wersja przedpremierowa |
Rozpoczęcie korzystania z LiteRT-LM w mniej niż minutę. | Przewodnik po interfejsie CLI |
| Python | ✅ Stabilna |
Szybkie prototypowanie i programowanie na komputerach i Raspberry Pi. | Przewodnik po Pythonie |
| Kotlin | ✅ Stabilna |
Natywne aplikacje na Androida i narzędzia na komputery oparte na JVM. Zoptymalizowany pod kątem korutyn. | Przewodnik po Androidzie (Kotlin) |
| C++ | ✅ Stabilna |
Wysokowydajna, na wielu platformach logika podstawowa i systemy wbudowane. | Przewodnik po C++ |
| Swift | 🚀 W trakcie opracowywania |
Natywna integracja z iOS i macOS ze specjalistyczną obsługą Metal. | Już wkrótce |
Obsługiwane backendy i platformy
| Przyspieszenie | Android | iOS | macOS | Windows | Linux | IoT |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
Obsługiwane modele
W tabeli poniżej znajdziesz listę modeli obsługiwanych przez LiteRT-LM. Szczegółowe dane dotyczące wydajności i karty modeli znajdziesz na stronie społeczności LiteRT w Hugging Face.
| Model | Typ | Rozmiar (MB) | Szczegóły | Urządzenie | Wstępne wypełnianie procesora (tk/s) | Dekodowanie procesora (klatki/s) | Wypełnianie wstępne GPU (tokeny/s) | Dekodowanie GPU (klatki/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma4-E2B | Czat | 2583 | Karta modelu | Samsung S26 Ultra | 557 | 47 | 3808 | 52 |
| iPhone 17 Pro | 532 | 25 | 2878 | 57 | ||||
| MacBook Pro M4 | 901 | 42 | 7835 | 160 | ||||
| Gemma4-E4B | Czat | 3654 | Karta modelu | Samsung S26 Ultra | 195 | 18 | 1293 | 22 |
| iPhone 17 Pro | 159 | 10 | 1189 | 25 | ||||
| MacBook Pro M4 | 277 | 27 | 2560 | 101 | ||||
| Gemma-3n-E2B | Czat | 2965 | Karta modelu | MacBook Pro M3 | 233 | 28 | - | - |
| Samsung S24 Ultra | 111 | 16 | 816 | 16 | ||||
| Gemma-3n-E4B | Czat | 4235 | Karta modelu | MacBook Pro M3 | 170 | 20 | - | - |
| Samsung S24 Ultra | 74 | 9 | 548 | 9 | ||||
| Gemma3-1B | Czat | 1005 | Karta modelu | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| FunctionGemma | Podstawa | 289 | Karta modelu | Samsung S25 Ultra | 2238 | 154 | - | - |
| phi-4-mini | Czat | 3906 | Karta modelu | Samsung S24 Ultra | 67 | 7 | 314 | 10 |
| Qwen2.5-1.5B | Czat | 1598 | Karta modelu | Samsung S25 Ultra | 298 | 34 | 1668 | 31 |
| Qwen3-0.6B | Czat | 586 | Karta modelu | Vivo X300 Pro | 165 | 9 | 580 | 21 |
| Qwen2.5-0.5B | Czat | 521 | Karta modelu | Samsung S24 Ultra | 251 | 30 | - | - |
Zgłaszanie problemów
Jeśli napotkasz błąd lub masz prośbę o dodanie funkcji, zgłoś to w zgłoszeniach GitHub LiteRT-LM.