LiteRT-LM File Builder

توفر litert-lm-builder الحزمة أدوات Python وواجهات سطر الأوامر (CLI) لإنشاء ملفات حاوية LiteRT-LM (.litertlm) وفحصها وفك حزمها.

ملف .litertlm هو حاوية موحّدة واحدة تحزم نماذج TFLite وملفات الترميز والأوزان الخارجية وبيانات النموذج الوصفية المرتبطة بها، ما يتيح توزيعها وتحميلها بواسطة وقت تشغيل LiteRT-LM.

تثبيت

ثبِّت حزمة litert-lm-builder من PyPI.

الطريقة 1: uvx (يُنصح بها للتنفيذ السريع)

تشغيل واجهات سطر الأوامر على الفور بدون تثبيت دائم يتطلب 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 لتعبئة مكوّنات النموذج. يمكنك إجراء ذلك باستخدام ملف إعداد أو عن طريق ربط وسيطات سطر الأوامر.

الاستخدام

يمكن استخدام الطرق التالية لإعداد ملف .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

مرجع خيارات واجهة سطر الأوامر

يتيح litert-lm-builder CLI استخدام الأوامر الفرعية التالية:

  • استبدِل output (مطلوبة) بمسار الإخراج.
    • --path PATH: مسار حفظ ملف .litertlm الذي تم إنشاؤه
  • toml: لتحميل الإعدادات من ملف TOML.
    • --path PATH: مسار ملف .toml
  • system_metadata: إضافة بيانات وصفية للنظام العام
    • --str KEY VALUE: إضافة زوج المفتاح/القيمة للسلسلة (يمكن تحديدها عدّة مرات).
    • --int KEY VALUE: إضافة زوج مفتاح/قيمة عدد صحيح (يمكن تحديدها عدّة مرات).
    • ملاحظة: ينشئ أداة الإنشاء تلقائيًا uuid وcreation_timestamp فريدَين ويضيفهما إلى بيانات النظام الوصفية (بتنسيق ISO 8601 للتوقيت العالمي المتفق عليه). لا تحدّد هذه المفاتيح يدويًا. يستخدم وقت التشغيل هذه الحقول لتحديد إصدار النموذج بشكل فريد وإدارة إبطال ذاكرة التخزين المؤقت المجمّعة.
  • llm_metadata: إضافة إعدادات خاصة بالنماذج اللغوية الكبيرة
    • --path PATH: مسار البيانات الوصفية للنموذج اللغوي الكبير (نص أو بروتوكول ثنائي).
  • tflite_model: إضافة نموذج TFLite
    • --path PATH: مسار ملف .tflite
    • --model_type TYPE: إحدى القيم التالية: embedder أو prefill_decode (تمثّل كلتا القيمتين التعبئة المسبقة والفك)، أو prefill، أو decode.
    • --backend_constraint BACKEND: (اختياري) قيد الخلفية (مثل gpu أو cpu أو npu).
    • --prefer_activation_type TYPE: (اختياري) نوع التفعيل المفضَّل (fp16 أو fp32 أو fp32_fp16)
    • --str_metadata KEY VALUE: (اختياري) بيانات وصفية على شكل سلسلة نصية خاصة بقسم النموذج هذا.
  • sp_tokenizer: إضافة أداة تقسيم إلى رموز مميزة SentencePiece
    • --path PATH: مسار ملف .model
    • --str_metadata KEY VALUE: (اختياري) بيانات وصفية من نوع سلسلة.
  • hf_tokenizer: إضافة أداة تقسيم إلى رموز مميزة من Hugging Face
    • --path PATH: مسار ملف tokenizer.json
    • --str_metadata KEY VALUE: (اختياري) بيانات وصفية من نوع سلسلة.

فحص ملف .litertlm وفك حزمه: litert-lm-peek

استخدِم واجهة سطر الأوامر litert-lm-peek لفحص حاوية .litertlm أو استخراج مكوّناتها المضمّنة. سيؤدي تشغيلها إلى عرض بنية الحاوية الكاملة وجميع الأقسام المجمّعة والبيانات الوصفية للنظام التي يتم إنشاؤها تلقائيًا (مثل uuid وcreation_timestamp).

الاستخدام

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

مرجع خيارات واجهة سطر الأوامر

  • --litertlm_file PATH (مطلوب): مسار ملف .litertlm المطلوب فحصه.
  • --dump_files_dir PATH (اختياري): الدليل الذي يجب استخراج/فك جميع الملفات المجمّعة (النماذج، وأدوات تقسيم النصوص إلى رموز، والأوزان، والبيانات الوصفية) فيه. في حال عدم توفيره، ستعرض الأداة البيانات الوصفية وبنية الأقسام فقط في وحدة التحكّم بدون استخراج الملفات.