Interfejs wiersza poleceń LiteRT-LM

Interfejs wiersza poleceń umożliwia natychmiastowe testowanie modeli – nie wymaga to pisania kodu.

Obsługiwane platformy:

  • Linux
  • macOS
  • Windows
  • Raspberry Pi

Instalacja

Uruchom litert-lm natychmiast bez trwałej instalacji. Wymaga uv.

Aby uruchomić dowolne polecenie litert-lm na żądanie, możesz dodać przed nim prefiks uvx:

uvx litert-lm run --help

Metoda 2. uv (trwała instalacja)

Instaluje litert-lm jako plik binarny w całym systemie. Wymaga uv.

uv tool install litert-lm

Metoda 3. pip

Standardowa instalacja w środowisku wirtualnym. Użycie --upgrade zapewnia uzyskanie najnowszej wersji, nawet jeśli poprzednia wersja jest już zainstalowana.

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade litert-lm

Uaktualniam

Aby uaktualnić litert-lm do najnowszej wersji:

Jeśli używasz uvx (metoda 1)

Nie musisz nic robić. uvx automatycznie uruchamia najnowszą wersję.

Jeśli zainstalowano za pomocą uv (metoda 2)

uv tool upgrade litert-lm

Jeśli zainstalowano za pomocą pip (metoda 3)

Aktywuj środowisko wirtualne i uruchom:

pip install --upgrade litert-lm

Czat

Pobierz model z HuggingFace i uruchom go:

litert-lm run  \
  --from-huggingface-repo=litert-community/gemma-4-E2B-it-litert-lm \
  gemma-4-E2B-it.litertlm \
  --prompt="What is the capital of France?"

🔴 Nowość: przewidywanie wielu tokenów (MTP)

Przewidywanie wielu tokenów (MTP) to optymalizacja wydajności, która znacznie przyspiesza dekodowanie. MTP jest powszechnie zalecane w przypadku wszystkich zadań w backendach GPU.

Aby włączyć MTP w interfejsie wiersza poleceń, użyj flagi --enable-speculative-decoding=true:

litert-lm run  \
  --from-huggingface-repo=litert-community/gemma-4-E2B-it-litert-lm \
  gemma-4-E2B-it.litertlm \
  --backend=gpu \
  --enable-speculative-decoding=true \
  --prompt="What is the capital of France?"

Wywoływanie funkcji / narzędzia

Narzędzia możesz uruchamiać za pomocą ustawień wstępnych. Utwórz preset.py:

import datetime
import base64

def get_current_time() -> str:
    """Returns the current date and time."""
    return datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

system_instruction = "You are a helpful assistant with access to tools."
tools = [get_current_time]

Uruchom z ustawieniami wstępnymi:

litert-lm run  \
  --from-huggingface-repo=litert-community/gemma-4-E2B-it-litert-lm \
  gemma-4-E2B-it.litertlm \
  --preset=preset.py

Przykładowe prompty i interaktywne dane wyjściowe:

> what will the time be in two hours?
[tool_call] {"arguments": {}, "name": "get_current_time"}
[tool_response] {"name": "get_current_time", "response": "2026-03-25 21:54:07"}
The current time is 2026-03-25 21:54:07.

In two hours, it will be **2026-03-25 23:54:07**.

Co się tutaj dzieje?

Gdy zadajesz pytanie, które wymaga informacji zewnętrznych (np. aktualnej godziny), model rozpoznaje, że musi wywołać narzędzie.

  1. Model emituje tool_call: model generuje żądanie JSON, aby wywołać funkcję get_current_time.
  2. Interfejs wiersza poleceń wykonuje narzędzie: interfejs wiersza poleceń LiteRT-LM przechwytuje to wywołanie i wykonuje odpowiednią funkcję Pythona zdefiniowaną w pliku preset.py.
  3. Interfejs wiersza poleceń wysyła tool_response: interfejs wiersza poleceń wysyła wynik z powrotem do modelu.
  4. Model generuje ostateczną odpowiedź: model używa odpowiedzi narzędzia do obliczenia i wygenerowania ostatecznej odpowiedzi dla użytkownika.

Ta pętla „wywoływania funkcji” odbywa się automatycznie w interfejsie wiersza poleceń, co pozwala rozszerzać lokalne LLM o możliwości Pythona bez pisania złożonego kodu orkiestracji.

Te same możliwości są dostępne w interfejsach API w językach Python, C++, i Kotlin.

Odinstalowuję

Aby odinstalować litert-lm:

Jeśli używasz uvx (metoda 1)

Nie musisz nic robić. uvx działa z pamięci podręcznej i nie instaluje się na stałe.

Jeśli zainstalowano za pomocą uv (metoda 2)

uv tool uninstall litert-lm

Jeśli zainstalowano za pomocą pip (metoda 3)

pip uninstall litert-lm