LiteRT-LM 檔案產生器

litert-lm-builder 套件提供 Python 工具和指令列介面 (CLI),可建構、檢查及解壓縮 LiteRT-LM (.litertlm) 容器檔案

.litertlm 檔案是單一整合式容器,可封裝 TFLite 模型、權杖化工具檔案、外部權重和相關模型中繼資料,以便 LiteRT-LM 執行階段進行分配和載入。

安裝

從 PyPI 安裝 litert-lm-builder 套件。

方法 1:uvx (建議快速執行)

立即執行 CLI,不必永久安裝。需要 uv

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

方法 2:pip

在虛擬環境中進行標準安裝:

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

建構 .litertlm 檔案:litert-lm-builder

使用 litert-lm-builder CLI 將模型元件封裝。您可以透過設定檔或串連指令列引數來執行這項操作。

用量

您可以使用下列方法,透過建構工具準備 .litertlm 檔案。

方法 1:使用 TOML 設定建構 (建議)

在 TOML 設定檔中指定所有元件、路徑和中繼資料,然後執行建構工具:

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

示例 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" }
]

方法 2:使用指令列引數建構

您可以在終端機中串連子指令,動態建構容器。子指令的順序會決定產生檔案中的章節順序。

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

CLI 選項參考資料

litert-lm-builder CLI 支援下列子指令:

  • output (必要):指定輸出路徑。
    • --path PATH:儲存建構的 .litertlm 檔案的路徑。
  • toml:從 TOML 檔案載入設定。
    • --path PATH.toml 檔案的路徑。
  • system_metadata:新增全域系統中繼資料。
    • --str KEY VALUE:新增字串鍵/值組合 (可多次指定)。
    • --int KEY VALUE:新增整數鍵/值組合 (可多次指定)。
    • 注意:建構工具會自動產生並附加專屬的 uuidcreation_timestamp (採用 世界標準時間 ISO 8601 格式) 至系統中繼資料。請勿手動指定這些金鑰。執行階段會使用這些欄位,以唯一方式識別模型建構作業,並管理已編譯的快取失效。
  • llm_metadata:新增 LLM 專屬設定。
    • --path PATH:LLM 中繼資料的路徑 (文字或二進位 proto)。
  • tflite_model:新增 TFLite 模型。
    • --path PATH.tflite 檔案的路徑。
    • --model_type TYPE:只能設定為 embedderprefill_decode (代表預先填入和解碼)、prefilldecode 之一。
    • --backend_constraint BACKEND:(選用) 後端限制 (例如 gpucpunpu)。
    • --prefer_activation_type TYPE:(選用) 偏好的啟用類型 (fp16fp32fp32_fp16)。
    • --str_metadata KEY VALUE:(選用) 這個模型區段的字串中繼資料。
  • sp_tokenizer:新增 SentencePiece 權杖化工具。
    • --path PATH.model 檔案的路徑。
    • --str_metadata KEY VALUE:(選用) 字串中繼資料。
  • hf_tokenizer:新增 Hugging Face 權杖化工具。
    • --path PATHtokenizer.json 檔案的路徑。
    • --str_metadata KEY VALUE:(選用) 字串中繼資料。

檢查及解壓縮 .litertlm 檔案:litert-lm-peek

使用 litert-lm-peek CLI 檢查 .litertlm 容器,或解壓縮內嵌元件。執行後會顯示完整的容器結構、所有封裝區段,以及自動產生的系統中繼資料 (例如 uuidcreation_timestamp)。

用量

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

CLI 選項參考資料

  • --litertlm_file PATH (必要):要檢查的 .litertlm 檔案路徑。
  • --dump_files_dir PATH (選用):所有封裝檔案 (模型、分詞器、權重、中繼資料) 的解壓縮/解封裝目錄。如未提供,工具只會將中繼資料和區段結構列印至控制台,不會擷取檔案。