LiteRT-LM File Builder

Das litert-lm-builder Paket bietet Python-Tools und Befehlszeilenschnittstellen (Command Line Interfaces, CLIs) zum Erstellen, Prüfen und Entpacken von LiteRT-LM-(.litertlm) Containerdateien.

Eine .litertlm-Datei ist ein einzelner einheitlicher Container, der Ihre TFLite-Modelle, Tokenizer-Dateien, externen Gewichte und zugehörigen Modellmetadaten verpackt, damit sie von der LiteRT-LM-Laufzeit verteilt und geladen werden können.

Installation

Installieren Sie das Paket litert-lm-builder von PyPI.

Methode 1: uvx (für schnelle Ausführung empfohlen)

Führen Sie die CLIs sofort ohne dauerhafte Installation aus. Erfordert uv.

uvx litert-lm-builder --help
uvx litert-lm-peek --help

Methode 2: pip

Standardinstallation in einer virtuellen Umgebung:

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

.litertlm-Datei erstellen: litert-lm-builder

Verwenden Sie die litert-lm-builder-CLI, um Ihre Modellkomponenten zu verpacken. Sie können dies entweder mit einer Konfigurationsdatei oder durch Verketten von Befehlszeilenargumenten tun.

Nutzung

Mit den folgenden Methoden kann die .litertlm-Datei mit dem Builder vorbereitet werden.

Methode 1: Mit TOML-Konfiguration erstellen (empfohlen)

Geben Sie alle Komponenten, Pfade und Metadaten in einer TOML-Konfigurationsdatei an und führen Sie dann den Builder aus:

litert-lm-builder toml --path config.toml output --path model.litertlm

Beispiel config.toml:

[system_metadata]
entries = [
  { key = "author", value_type = "String", value = "Authors" }
]

[[section]]
section_type = "LlmMetadata"
data_path = "path/to/llm_metadata.pb"

[[section]]
section_type = "SP_Tokenizer"
data_path = "path/to/sp.model"

[[section]]
section_type = "TFLiteModel"
model_type = "PREFILL_DECODE"
data_path = "path/to/model.tflite"
additional_metadata = [
  { key = "model_version", value_type = "String", value = "1.0.1" }
]

Methode 2: Mit Befehlszeilenargumenten erstellen

Sie können den Container dynamisch erstellen, indem Sie Unterbefehle in Ihrem Terminal verketten. Die Reihenfolge der Unterbefehle bestimmt die Reihenfolge der Abschnitte in der generierten Datei.

litert-lm-builder \
  system_metadata --str author "Authors" \
  llm_metadata --path path/to/llm_metadata.pb \
  sp_tokenizer --path path/to/sp.model \
  tflite_model --path path/to/model.tflite --model_type prefill_decode --str_metadata model_version "1.0.1" \
  output --path model.litertlm

Referenz zu CLI-Optionen

Die litert-lm-builder-CLI unterstützt die folgenden Unterbefehle:

  • output (erforderlich): Gibt den Ausgabepfad an.
    • --path PATH: Pfad zum Speichern der erstellten .litertlm-Datei.
  • toml: Konfiguration aus einer TOML-Datei laden.
    • --path PATH: Pfad zur .toml-Datei.
  • system_metadata: Globale Systemmetadaten hinzufügen.
    • --str KEY VALUE: Ein Schlüssel/Wert-Paar vom Typ String hinzufügen (kann mehrmals angegeben werden).
    • --int KEY VALUE: Ein Schlüssel/Wert-Paar vom Typ Integer hinzufügen (kann mehrmals angegeben werden).
    • Hinweis: Der Builder generiert automatisch eine eindeutige uuid und creation_timestamp (im UTC-ISO-8601-Format) und fügt sie den System metadaten hinzu. Geben Sie diese Schlüssel nicht manuell an. Diese Felder werden von der Laufzeit verwendet, um den Modellbuild eindeutig zu identifizieren und die Invalidierung des kompilierten Cache zu verwalten.
  • llm_metadata: LLM-spezifische Konfiguration hinzufügen.
    • --path PATH: Pfad zu den LLM-Metadaten (Text- oder binäres Proto).
  • tflite_model: Ein TFLite-Modell hinzufügen.
    • --path PATH: Pfad zur .tflite-Datei.
    • --model_type TYPE: Eine der folgenden Optionen: embedder, prefill_decode (steht für „prefill“ und „decode“), prefill, decode.
    • --backend_constraint BACKEND: (Optional) Back-End-Einschränkung (z.B. gpu, cpu, npu).
    • --prefer_activation_type TYPE: (Optional) Bevorzugter Aktivierungstyp (fp16, fp32, fp32_fp16).
    • --str_metadata KEY VALUE: (Optional) String-Metadaten für diesen Modellabschnitt.
  • sp_tokenizer: Einen SentencePiece-Tokenizer hinzufügen.
    • --path PATH: Pfad zur .model-Datei.
    • --str_metadata KEY VALUE: (Optional) String-Metadaten.
  • hf_tokenizer: Einen Hugging Face-Tokenizer hinzufügen.
    • --path PATH: Pfad zur Datei tokenizer.json.
    • --str_metadata KEY VALUE: (Optional) String-Metadaten.

.litertlm-Datei prüfen und entpacken: litert-lm-peek

Verwenden Sie die litert-lm-peek-CLI, um einen .litertlm-Container zu prüfen oder seine eingebetteten Komponenten zu entpacken. Wenn Sie sie ausführen, werden die vollständige Containerstruktur, alle verpackten Abschnitte und die automatisch generierten Systemmetadaten (z. B. uuid und creation_timestamp) angezeigt.

Nutzung

litert-lm-peek --litertlm_file model.litertlm [options]

Referenz zu CLI-Optionen

  • --litertlm_file PATH (erforderlich): Der Pfad zur zu prüfenden .litertlm-Datei.
  • --dump_files_dir PATH (optional): Das Verzeichnis, in dem alle verpackten Dateien (Modelle, Tokenizer, Gewichte, Metadaten) extrahiert/entpackt werden sollen. Wenn nicht angegeben, werden mit dem Tool nur die Metadaten und die Abschnittsstruktur in der Console ausgegeben, ohne Dateien zu extrahieren.