تشغيل النماذج اللغوية الكبيرة باستخدام LiteRT-LM

‫LiteRT-LM هي مكتبة متوافقة مع عدة منصات ومصمَّمة لتشغيل مسارات نماذج اللغة بكفاءة على مجموعة كبيرة من الأجهزة، بدءًا من الهواتف الجوّالة وصولاً إلى الأنظمة المضمَّنة. توفّر هذه الأداة للمطوّرين الأدوات اللازمة لإنشاء عمليات سير عمل متطورة لنماذج اللغة ونشرها، وهي تتضمّن الآن ميزة التكامل السلس مع وحدة المعالجة العصبية (NPU).

تشغيل النماذج اللغوية الكبيرة على وحدة المعالجة المركزية ووحدة معالجة الرسومات

يمكنك الاطّلاع على مستودع LiteRT-LM على GitHub للحصول على تعليمات مفصّلة حول التطوير المتوافق مع عدة أنظمة أساسية وتسريع الأجهزة باستخدام وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU).

تشغيل النماذج اللغوية الكبيرة على وحدة المعالجة العصبية

توفّر وحدات المعالجة العصبية (NPU) وحدات أجهزة متخصّصة تم تحسينها لتناسب عمليات التعلّم العميق. وتتوفّر هذه الميزات بشكل متزايد في الأنظمة الحديثة على شريحة واحدة (SoC)، خاصةً على الأجهزة الجوّالة. وبفضل أدائها العالي، تُعدّ هذه الوحدات خيارًا رائعًا لتنفيذ استنتاجات نماذج اللغات الكبيرة.

مورّدو وحدات المعالجة العصبية

يتيح LiteRT-LM تشغيل نماذج اللغات الكبيرة باستخدام تسريع وحدة المعالجة العصبية (NPU) مع المورّدين التاليين. اختَر التعليمات حسب المورّد الذي تريد تجربته:

البدء بسرعة

للبدء، اتّبِع أولاً تعليمات المتطلبات الأساسية لإعداد البيئة والمستودع.

للتفاعل مع جهاز Android، تأكَّد أيضًا من تثبيت Android Debug Bridge بشكل صحيح ومن توفُّر جهاز متصل يمكن الوصول إليه باستخدام adb.

للحصول على تعليمات أكثر تفصيلاً، يمكنك الاطّلاع على قسم البدء السريع في مستودع LiteRT-LM، والعثور على مزيد من المعلومات حول litert_lm_main العرض التوضيحي لسطر الأوامر.

Google Tensor

اتّبِع الخطوات التالية لتشغيل نماذج اللغات الكبيرة على معالج Google Tensor:

الخطوة 1: تنزيل نموذج .litertlm تم تصميم وقت تشغيل LiteRT-LM للعمل مع النماذج بتنسيق .litertlm.

يمكنك العثور على الطُرز المتوافقة وتنزيلها في الجدول التالي:

الطراز منظومة على رقاقة (SoC) التكميم حجم الاستيعاب حجم النموذج (ميغابايت) رابط التنزيل
Gemma3-1B Tensor_G5 8 بت لكل قناة 1280 1704 تنزيل

في ما يلي مثال على أمر يمكن أن يساعدك في الحصول على رابط Hugging Face الذي يمكنه تنزيل النموذج الصحيح لنظام التشغيل على الشريحة (SoC) في هاتفك (يُرجى العِلم أنّه عليك تسجيل الدخول والموافقة على النموذج من أجل الحصول على إذن بتنزيل الملف). يجب التأكّد من توفّر جهاز متصل يمكن الوصول إليه باستخدام adb.

SOC_MODEL=$(adb shell getprop ro.soc.model | tr '[:upper:]' '[:lower:]')
echo "https://huggingface.co/litert-community/Gemma3-1B-IT/blob/main/Gemma3-1B-IT_q4_ekv1280_Google_${SOC_MODEL}.litertlm"

تأكَّد من إدراج $SOC_MODEL في جدول الأجهزة المتوافقة. لن يعمل الرابط الذي تم إنشاؤه مع الطُرز غير المتوافقة. تتم إضافة دعم لوحدات معالجة عصبية جديدة بانتظام، لذا يُرجى التحقّق مجددًا لاحقًا لمعرفة ما إذا كان جهازك متوافقًا.

الخطوة 2: إنشاء وقت التشغيل / المكتبات LiteRT-LM

التطوير في نظام التشغيل Linux

لتتمكّن من إنشاء ملف ثنائي لنظام التشغيل Android، عليك تثبيت الإصدار 28b من حزمة NDK أو إصدار أحدث من أحدث إصدار ثابت.

يُرجى اتّباع الخطوات التالية:

  • نزِّل أحدث حزمة ثابتة من NDK (ملف zip) من أحدث إصدار ثابت.
  • استخرِج ملف zip إلى الموقع الجغرافي المفضّل لديك (مثلاً /path/to/AndroidNDK/).
  • اجعل ANDROID_NDK_HOME يشير إلى دليل NDK. يجب أن يكون شيئًا مثل ما يلي:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/

بعد إعداد ذلك، أنشئ ملف litert_lm_main الثنائي باستخدام الأمر التالي:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

بالإضافة إلى ذلك، أنشئ مكتبة واجهة برمجة التطبيقات للإرسال من أجل السماح لوقت تشغيل LiteRT-LM بالتفاعل مع وحدة المعالجة العصبية (NPU):

bazel build --config=android_arm64 \
    @litert//litert/vendors/google_tensor/dispatch:dispatch_api_so

الخطوة 3: تشغيل النموذج على الجهاز بعد إنشاء الملف الثنائي بنجاح، يمكننا الآن محاولة تشغيل النموذج على الجهاز. تأكَّد من أنّ لديك إذن الوصول للكتابة في DEVICE_FOLDER:

لتشغيل البرنامج الثنائي على جهاز Android، علينا إرسال بعض مواد العرض/البرامج الثنائية. أولاً، اضبط DEVICE_FOLDER وتأكَّد من أنّ لديك إذن الوصول للكتابة إليه (يمكنك عادةً وضع عناصر ضمن /data/local/tmp/):

export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER

export MODEL_PATH=<path to your downloaded .litertlm >

ادفع ملف ‎ .litertlm.

adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm

أرسِل واجهة برمجة التطبيقات dispatch والملف الثنائي الرئيسي الذي تم تجميعه في الخطوة 2.

adb push bazel-bin/external/litert/litert/vendors/google_tensor/*/*.so \
    $DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER

يمكنك الآن تنفيذ الملف الثنائي.

adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER \
    $DEVICE_FOLDER/litert_lm_main \
    --backend=npu \
    --model_path=$DEVICE_FOLDER/model.litertlm

‫Qualcomm AI Engine Direct

في ما يلي خطوات تشغيل النماذج اللغوية الكبيرة على وحدة المعالجة العصبية من Qualcomm:

الخطوة 1: تنزيل نموذج .litertlm تم تصميم وقت تشغيل LiteRT-LM للعمل مع النماذج بتنسيق .litertlm. يمكنك العثور على الطُرز المتوافقة وتنزيلها في الجدول التالي.

الطراز منظومة على رقاقة (SoC) التكميم حجم الاستيعاب حجم النموذج (ميغابايت) رابط التنزيل
Gemma3-1B SM8750 4 بت لكل قناة 1280 658 تنزيل
Gemma3-1B SM8650 4 بت لكل قناة 1280 658 تنزيل
Gemma3-1B SM8550 4 بت لكل قناة 1280 657 تنزيل

عليك تنزيل النموذج المتوافق مع منظومة على رقاقة (SoC) الخاصة بك. في ما يلي مثال على أمر يمكن أن يساعدك في الحصول على رابط Hugging Face الذي يمكنه تنزيل النموذج الصحيح لمنظومة على رقاقة (SoC) في هاتفك (يُرجى العِلم أنّه عليك تسجيل الدخول والموافقة على النموذج من أجل الحصول على إذن بتنزيل الملف). يجب التأكّد من توفّر جهاز متصل يمكن الوصول إليه باستخدام adb.

SOC_MODEL=$(adb shell getprop ro.soc.model | tr '[:upper:]' '[:lower:]')
echo "https://huggingface.co/litert-community/Gemma3-1B-IT/blob/main/Gemma3-1B-IT_q4_ekv1280_${SOC_MODEL}.litertlm"

تأكَّد من إدراج $SOC_MODEL في جدول الأجهزة المتوافقة. لن يعمل الرابط الذي تم إنشاؤه مع الطُرز غير المتوافقة. تتم إضافة دعم لوحدات معالجة عصبية جديدة بانتظام، لذا يُرجى التحقّق مجددًا لاحقًا لمعرفة ما إذا كان جهازك متوافقًا.

الخطوة 2: تنزيل مكتبات QAIRT واستخراجها لتشغيل النموذج باستخدام وحدة المعالجة العصبية من Qualcomm، يجب توفير مكتبات وقت التشغيل المرتبطة على الجهاز. يمكن تنزيل حزمة تطوير البرامج (SDK) الخاصة بأداة QAIRT من خلال الرابط واستخراج الملف. اضبط المتغيّر QAIRT_ROOT (سيتم استخدامه في الخطوات اللاحقة) للإشارة إلى المجلد الذي تم فك ضغطه والذي يحتوي على رقم الإصدار، على سبيل المثال:

unzip <your_file.zip> -d ~/

QAIRT_ROOT=~/qairt/2.42.0.251225

الخطوة 3: إنشاء وقت التشغيل / المكتبات LiteRT-LM

التطوير في نظام التشغيل Linux

لتتمكّن من إنشاء ملف ثنائي لنظام التشغيل Android، عليك تثبيت الإصدار r28b من حزمة NDK أو إصدار أحدث من https://developer.android.com/ndk/downloads#stable-downloads. الخطوات المحدّدة هي:

  • نزِّل ملف zip من https://developer.android.com/ndk/downloads#stable-downloads.
  • استخرِج ملف zip إلى الموقع الجغرافي المفضّل لديك (مثلاً /path/to/AndroidNDK/).
  • استبدِل ANDROID_NDK_HOME بمسار دليل NDK. يجب أن يكون شيئًا مثل:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/

ملاحظات: تأكَّد من أنّ ANDROID_NDK_HOME يشير إلى الدليل الذي يتضمّن README.md.

بعد إعداد البيئة، جرِّب إنشاء ملف litert_lm_main الثنائي:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

بالإضافة إلى ذلك، يجب إنشاء مكتبة واجهة برمجة التطبيقات dispatch لكي يتفاعل وقت تشغيل LiteRT-LM مع وحدة المعالجة العصبية:

bazel build --config=android_arm64 \
    @litert//litert/vendors/qualcomm/dispatch:dispatch_api_so

التطوير في نظام التشغيل macOS

تتضمّن أدوات سطر الأوامر في Xcode أداة clang. تشغيل xcode-select --install إذا لم يسبق تثبيته

لتتمكّن من إنشاء ملف ثنائي لنظام التشغيل Android، عليك تثبيت الإصدار r28b من حزمة NDK أو إصدار أحدث من https://developer.android.com/ndk/downloads#stable-downloads. الخطوات المحدّدة هي:

  • نزِّل ملف .dmg من https://developer.android.com/ndk/downloads#stable-downloads.
  • افتح الملف .dmg وانقل الملف AndroidNDK* إلى الموقع الجغرافي المفضّل لديك (مثلاً /path/to/AndroidNDK/).
  • استبدِل ANDROID_NDK_HOME بمسار دليل NDK. يجب أن يكون شيئًا مثل:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/AndroidNDK*.app/Contents/NDK/

ملاحظات: تأكَّد من أنّ ANDROID_NDK_HOME يشير إلى الدليل الذي يتضمّن README.md.

بعد إعداد البيئة، جرِّب إنشاء ملف litert_lm_main الثنائي:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

بالإضافة إلى ذلك، يجب إنشاء مكتبة واجهة برمجة التطبيقات dispatch لكي يتفاعل وقت تشغيل LiteRT-LM مع وحدة المعالجة العصبية:

bazel build --config=android_arm64 \
    @litert//litert/vendors/qualcomm/dispatch:dispatch_api_so

الخطوة 4: تشغيل النموذج على الجهاز بعد إنشاء الملف الثنائي بنجاح، يمكننا الآن محاولة تشغيل النموذج على الجهاز. تأكَّد من أنّ لديك إذن الوصول للكتابة في DEVICE_FOLDER:

لتشغيل البرنامج الثنائي على جهاز Android، علينا إرسال بعض مواد العرض/البرامج الثنائية. أولاً، اضبط DEVICE_FOLDER وتأكَّد من أنّ لديك إذن الوصول للكتابة إليه (يمكنك عادةً وضع عناصر ضمن /data/local/tmp/):

export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER

export MODEL_PATH=<path to your downloaded .litertlm >

ادفع ملف ‎ .litertlm. ملاحظة: عليك إرسال مواد العرض هذه مرة واحدة فقط.

adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm

إرسال مكتبات QAIRT. يمكنك العثور عليها في المجلد الذي تم فك ضغطه في الخطوة 2 $QAIRT_ROOT/lib/aarch64-android/. يُرجى العِلم أنّ QAIRT_ROOT يجب أن يحتوي على رقم الإصدار، مثل 2.42.0.251225.

adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtp*Stub.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtp.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnSystem.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtpPrepare.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/hexagon-*/unsigned/libQnnHtp*Skel.so $DEVICE_FOLDER

أرسِل واجهة برمجة التطبيقات dispatch والملف الثنائي الرئيسي الذي تم تجميعه في الخطوة 3.

adb push bazel-bin/external/litert/litert/vendors/qualcomm/*/*.so \
    $DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER

يمكنك الآن تنفيذ الملف الثنائي.

adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER ADSP_LIBRARY_PATH=$DEVICE_FOLDER \
    $DEVICE_FOLDER/litert_lm_main \
    --backend=npu \
    --model_path=$DEVICE_FOLDER/model.litertlm

‫MediaTek NeuroPilot

في ما يلي خطوات تشغيل نماذج اللغات الكبيرة على وحدة المعالجة العصبية من MediaTek:

الخطوة 1: تنزيل نموذج .litertlm تم تصميم وقت تشغيل LiteRT-LM للعمل مع النماذج بتنسيق .litertlm. يمكنك العثور على الطُرز المتوافقة وتنزيلها في الجدول التالي.

الطراز منظومة على رقاقة (SoC) التكميم حجم الاستيعاب حجم النموذج (ميغابايت) رابط التنزيل
Gemma3-1B MT6989 4 بت لكل قناة 1280 985 تنزيل
Gemma3-1B MT6991 4 بت لكل قناة 1280 986 تنزيل

عليك تنزيل النموذج المتوافق مع منظومة على رقاقة (SoC) الخاصة بك. في ما يلي مثال على أمر يمكن أن يساعدك في الحصول على رابط Hugging Face الذي يمكنه تنزيل النموذج الصحيح لمنظومة على رقاقة (SoC) في هاتفك (يُرجى العِلم أنّه عليك تسجيل الدخول والموافقة على النموذج من أجل الحصول على إذن بتنزيل الملف). يجب التأكّد من توفّر جهاز متصل يمكن الوصول إليه باستخدام adb.

SOC_MODEL=$(adb shell getprop ro.soc.model | tr '[:upper:]' '[:lower:]')
echo "https://huggingface.co/litert-community/Gemma3-1B-IT/blob/main/Gemma3-1B-IT_q4_ekv1280_${SOC_MODEL}.litertlm"

تأكَّد من إدراج $SOC_MODEL في جدول الأجهزة المتوافقة. لن يعمل الرابط الذي تم إنشاؤه مع الطُرز غير المتوافقة. تتم إضافة دعم لوحدات معالجة عصبية جديدة بانتظام، لذا يُرجى التحقّق مجددًا لاحقًا لمعرفة ما إذا كان جهازك متوافقًا.

الخطوة 2: إنشاء وقت التشغيل / المكتبات LiteRT-LM

التطوير في نظام التشغيل Linux

لتتمكّن من إنشاء ملف ثنائي لنظام التشغيل Android، عليك تثبيت الإصدار r28b من حزمة NDK أو إصدار أحدث من https://developer.android.com/ndk/downloads#stable-downloads. الخطوات المحدّدة هي:

  • نزِّل ملف zip من https://developer.android.com/ndk/downloads#stable-downloads.
  • استخرِج ملف zip إلى الموقع الجغرافي المفضّل لديك (مثلاً /path/to/AndroidNDK/).
  • استبدِل ANDROID_NDK_HOME بمسار دليل NDK. يجب أن يكون شيئًا مثل:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/

ملاحظات: تأكَّد من أنّ ANDROID_NDK_HOME يشير إلى الدليل الذي يتضمّن README.md.

بعد إعداد البيئة، جرِّب إنشاء ملف litert_lm_main الثنائي:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

بالإضافة إلى ذلك، يجب إنشاء مكتبة واجهة برمجة التطبيقات dispatch لكي يتفاعل وقت تشغيل LiteRT-LM مع وحدة المعالجة العصبية:

bazel build --config=android_arm64 \
    @litert//litert/vendors/mediatek/dispatch:dispatch_api_so

التطوير في نظام التشغيل macOS

تتضمّن أدوات سطر الأوامر في Xcode أداة clang. تشغيل xcode-select --install إذا لم يسبق تثبيته

لتتمكّن من إنشاء ملف ثنائي لنظام التشغيل Android، عليك تثبيت الإصدار r28b من حزمة NDK أو إصدار أحدث من https://developer.android.com/ndk/downloads#stable-downloads. الخطوات المحدّدة هي:

  • نزِّل ملف .dmg من https://developer.android.com/ndk/downloads#stable-downloads.
  • افتح الملف .dmg وانقل الملف AndroidNDK* إلى الموقع الجغرافي المفضّل لديك (مثلاً /path/to/AndroidNDK/).
  • استبدِل ANDROID_NDK_HOME بمسار دليل NDK. يجب أن يكون شيئًا مثل:
export ANDROID_NDK_HOME=/path/to/AndroidNDK/AndroidNDK*.app/Contents/NDK/

ملاحظات: تأكَّد من أنّ ANDROID_NDK_HOME يشير إلى الدليل الذي يتضمّن README.md.

بعد إعداد البيئة، جرِّب إنشاء ملف litert_lm_main الثنائي:

bazel build --config=android_arm64 //runtime/engine:litert_lm_main

بالإضافة إلى ذلك، يجب إنشاء مكتبة واجهة برمجة التطبيقات dispatch لكي يتفاعل وقت تشغيل LiteRT-LM مع وحدة المعالجة العصبية:

bazel build --config=android_arm64 \
    @litert//litert/vendors/mediatek/dispatch:dispatch_api_so

الخطوة 3: تشغيل النموذج على الجهاز بعد إنشاء الملف الثنائي بنجاح، يمكننا الآن محاولة تشغيل النموذج على الجهاز. تأكَّد من أنّ لديك إذن الوصول للكتابة في DEVICE_FOLDER:

لتشغيل البرنامج الثنائي على جهاز Android، علينا إرسال بعض مواد العرض/البرامج الثنائية. أولاً، اضبط DEVICE_FOLDER وتأكَّد من أنّ لديك إذن الوصول للكتابة إليه (يمكنك عادةً وضع عناصر ضمن /data/local/tmp/):

export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER

export MODEL_PATH=<path to your downloaded .litertlm >

ادفع ملف ‎ .litertlm. ملاحظة: عليك إرسال مواد العرض هذه مرة واحدة فقط.

adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm

أرسِل واجهة برمجة التطبيقات dispatch والملف الثنائي الرئيسي الذي تم تجميعه في الخطوة 2.

adb push bazel-bin/external/litert/litert/vendors/mediatek/*/*.so \
    $DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER

يمكنك الآن تنفيذ الملف الثنائي.

adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER \
    $DEVICE_FOLDER/litert_lm_main \
    --backend=npu \
    --model_path=$DEVICE_FOLDER/model.litertlm

Intel OpenVino

التشغيل باستخدام الملف التنفيذي C++‎

في ما يلي خطوات تشغيل النماذج اللغوية الكبيرة على وحدة المعالجة العصبية من Intel:

الخطوة 1: تنزيل نموذج .litertlm تم تصميم وقت تشغيل LiteRT-LM للعمل مع النماذج بتنسيق .litertlm. يمكنك العثور على الطُرز المتوافقة وتنزيلها في الجدول التالي.

الطراز منظومة على رقاقة (SoC) التكميم حجم الاستيعاب حجم النموذج (ميغابايت) رابط التنزيل
Gemma3-2B PantherLake ... 4096 ... ...

الخطوة 2: إنشاء وقت تشغيل LiteRT-LM ومكتبة LiteRT Intel Dispatch

التطوير على Windows

بعد إعداد البيئة، جرِّب إنشاء ملف litert_lm_main الثنائي:

bazel --output_base=C:\bzl_lrtlm build --define=DISABLE_HUGGINGFACE_TOKENIZER=1 --config=windows //runtime/engine:litert_lm_main

بالإضافة إلى ذلك، يجب إنشاء مكتبة واجهة برمجة التطبيقات dispatch لكي يتفاعل وقت تشغيل LiteRT-LM مع وحدة المعالجة العصبية:

bazel --output_base=C:\bzl_lrtlm build --config=windows  @litert//litert/vendors/intel_openvino/dispatch:LiteRtDispatch

الخطوة 3: تشغيل النموذج على الجهاز بعد إنشاء الملف الثنائي بنجاح، يمكننا الآن محاولة تشغيل النموذج على الجهاز. نجمّع جميع الملفات الثنائية وملفات DLL والنموذج في execution_dir:

cp bazel-bin/external/litert/vendors/intel_openvino/dispatch/LiteRtDispatch.dll execution_dir
cp bazel-bin/runtime/engine/litert_lm_main.exe execution_dir
cp prebuilt\windows_x86_64\libGemmaModelConstraintProvider.dll execution_dir

# Run OpenVino's setup script to ensure the OpenVino DLLs can be found.
& C:\bzl_lrtlm\external\intel_openvino\openvino\setupvars.ps1

# Test run
cd execution_dir
.\litert_lm_main.exe --backend=npu --model_path="execution_dir\model.litertlm"  --input_prompt="What is the capital of France?" --litert_dispatch_lib_dir=$PWD  --use_hw_masking_for_npu=false

التشغيل باستخدام واجهة سطر الأوامر في Python

يمكنك أيضًا تشغيل نموذج ‎ .litertlm أو عرضه باستخدام واجهة سطر الأوامر في Python الخاصة بحزمة litert-lm. في ما يلي الخطوات اللازمة لإجراء ذلك: إنشاء litert-lm-api وlitert-lm CLI

bazelisk --output_base=C:\bzl build @litert//litert/vendors/intel_openvino/dispatch:LiteRtDispatch --config=windows

bazelisk --output_base=C:\bzl build --config=windows //python/litert_lm:wheel

bazelisk --output_base=C:\bzl build --config=windows //python/litert_lm_cli:wheel

بعد ذلك، انسخ الملفين litert_lm-0.xx.0-py3-none-any.whl وlitert_lm_api-0.xx.0-py3-none-win_amd64.whl إلى المنصة المستهدفة التي ستنشر عليها النماذج، ثم اتّبِع الخطوات التالية:

python -m venv .venv
.\.venv\Scripts\activate

# Install the LiteRT-LM API and CLI (reference)
pip install litert_lm-0.12.0-py3-none-any.whl litert_lm_api-0.12.0-py3-none-win_amd64.whl

# Install openvino (>= 2026.2.0). (reference)
pip install --pre --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly openvino

# Run the NPU model with CLI
litert-lm run path\to\npu_model.litertlm --backend=npu

عرض النموذج وطلب الاستدلال عن بُعد يمكنك أيضًا عرض النموذج على خادم HTTP: ```shell

استيراد النموذج وعرضه باستخدام واجهة سطر الأوامر على مضيف الخادم

litert-lm import path\to\npu_model.litertlm gemma4-LNL

litert-lm serve --port 8080 ```

على مضيف العميل، اطلب الاستنتاج باستخدام موجه الأوامر ```shell

ملاحظة: لا يتيح الخادم حاليًا السلسلة الخلفية npu, في طلب البحث بعد.

ولكن من المفترض أن تتوفّر هذه الميزة لاحقًا.

curl http://localhost:8080/v1beta/models/gemma4-LNL,npu:generateContent ^ -H "Content-Type: application/json" ^ -d "{"contents": [{"parts": [{"text": "Hello"}]}]}" ``` يجب التأكّد من تثبيت curl على الجهاز المضيف للعميل. إذا لم يكن مثبّتًا، يمكنك تثبيته في PowerShell باستخدام الأمر التالي: winget install cURL.cURL