El paquete litert-lm-builder proporciona herramientas de Python y interfaces de línea de comandos (CLI) para compilar, inspeccionar y descomprimir archivos de contenedor de LiteRT-LM (.litertlm).
Un archivo .litertlm es un contenedor unificado único que empaqueta tus modelos de TFLite, archivos de tokenizador, pesos externos y metadatos del modelo asociados para que el entorno de ejecución de LiteRT-LM pueda distribuirlos y cargarlos.
Instalación
Instala el paquete litert-lm-builder desde PyPI.
Método 1: uvx (recomendado para una ejecución rápida)
Ejecuta las CLIs de inmediato sin una instalación permanente. Requiere uv.
uvx litert-lm-builder --help
uvx litert-lm-peek --help
Método 2: pip
Instalación estándar en un entorno virtual:
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade litert-lm-builder
Compila un archivo .litertlm: litert-lm-builder
Usa la CLI de litert-lm-builder para empaquetar los componentes del modelo. Puedes hacerlo con un archivo de configuración o encadenando argumentos de la línea de comandos.
Uso
Se pueden usar los siguientes métodos para preparar el archivo .litertlm con el compilador.
Método 1: Compila con la configuración de TOML (recomendado)
Especifica todos los componentes, las rutas de acceso y los metadatos en un archivo de configuración TOML y, luego, ejecuta el compilador:
litert-lm-builder toml --path config.toml output --path model.litertlm
Ejemplo 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" }
]
Método 2: Compila con argumentos de línea de comandos
Puedes compilar el contenedor de forma dinámica encadenando subcomandos en tu terminal. El orden de los subcomandos determina el orden de las secciones en el archivo generado.
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
Referencia de opciones de la CLI
La CLI de litert-lm-builder admite los siguientes subcomandos:
output(obligatorio): Especifica la ruta de salida.--path PATH: Es la ruta de acceso para guardar el archivo.litertlmcompilado.
toml: Carga la configuración desde un archivo TOML.--path PATH: Es la ruta de acceso al archivo.toml.
system_metadata: Agrega metadatos del sistema globales.--str KEY VALUE: Agrega un par clave-valor de cadena (se puede especificar varias veces).--int KEY VALUE: Agrega un par clave-valor de números enteros (se puede especificar varias veces).- Nota: El compilador genera y agrega automáticamente un
uuidy uncreation_timestampúnicos (en formato ISO 8601 de UTC) a los metadatos del sistema. No especifiques estas claves de forma manual. El entorno de ejecución usa estos campos para identificar de forma única la compilación del modelo y administrar la invalidación de la caché compilada.
llm_metadata: Agrega configuración específica del LLM.--path PATH: Es la ruta de acceso a los metadatos del LLM (proto binario o de texto).
tflite_model: Agrega un modelo de TFLite.--path PATH: Es la ruta de acceso al archivo.tflite.--model_type TYPE: Uno de los siguientes:embedder,prefill_decode(que representa tanto el prellenado como la decodificación),prefill,decode.--backend_constraint BACKEND: (Opcional) Restricción de backend (p.ej.,gpu,cpu,npu).--prefer_activation_type TYPE: (Opcional) Tipo de activación preferido (fp16,fp32,fp32_fp16).--str_metadata KEY VALUE: (Opcional) Metadatos de cadena para esta sección del modelo.
sp_tokenizer: Agrega un tokenizador de SentencePiece.--path PATH: Es la ruta de acceso al archivo.model.--str_metadata KEY VALUE: Es una cadena de metadatos opcional.
hf_tokenizer: Agrega un tokenizador de Hugging Face.--path PATH: Es la ruta de acceso al archivotokenizer.json.--str_metadata KEY VALUE: Es una cadena de metadatos opcional.
Inspecciona y desempaqueta un archivo .litertlm: litert-lm-peek
Usa la CLI de litert-lm-peek para inspeccionar un contenedor de .litertlm o descomprimir sus componentes incorporados. Si lo ejecutas, se mostrará la estructura completa del contenedor, todas las secciones empaquetadas y los metadatos del sistema generados automáticamente (como uuid y creation_timestamp).
Uso
litert-lm-peek --litertlm_file model.litertlm [options]
Referencia de opciones de la CLI
--litertlm_file PATH(obligatorio): Es la ruta de acceso al archivo.litertlmque se inspeccionará.--dump_files_dir PATH(opcional): Es el directorio en el que se deben extraer o descomprimir todos los archivos empaquetados (modelos, tokenizadores, pesos, metadatos). Si no se proporciona, la herramienta solo imprimirá los metadatos y la estructura de la sección en la consola sin extraer archivos.