الهواتف المحمولة

بناء ميزات مولّدة تعمل بالكامل على الجهاز مع Gemini Nano وML Kit Prompt API

كيفية بناء ميزات مولّدة تعمل محلياً باستخدام Gemini Nano وML Kit Prompt API: خطوات، أمثلة Kotlin، اعتبارات الأداء والخصوصية.

Close-up of hands holding a smartphone displaying the ChatGPT application interface on the screen.

مقدمة: لماذا على‑الجهاز (On‑device) ولماذا Gemini Nano؟

خلال السنوات الأخيرة أصبحت تطبيقات الجوال تطلب ميزات ذكاء اصطناعي مولد قريبة من المستخدم — مثل التلخيص، إعادة الصياغة، وصف الصور أو توليد عناوين — مع متطلبات صارمة على الخصوصية وزمن الاستجابة. تشغيل هذه الميزات محلياً على الجهاز يقلل الاعتماد على السحابة، يخفض الكمون ويحسن خصوصية المستخدمين لأن البيانات لا تغادر الجهاز.

جميني نانو (Gemini Nano) هي نسخة مُحسَّنة للعمل على الأجهزة المحمولة، وقد أدرجت Google واجهات عالية المستوى في ML Kit لتمكين المطورين من استدعاء قدرات التوليد هذه داخل تطبيقاتهم بسهولة. هذا الدليل العملي يشرح بنية العمل، خطوات التهيئة، مثال كود عملي (Kotlin)، ونصائح للنشر والإنتاج.

كيف تعمل سلسلة ML Kit + Gemini Nano؟ نظرة تقنية موجزة

ML Kit تقدم واجهات GenAI عالية المستوى (مثل Summarization, Proofreading, Rewrite وPrompt API) مبنية فوق خدمة AICore على Android. عند تشغيل أحد هذه الواجهات، يقوم ML Kit بالتعامل مع تنزيل نموذج Gemini Nano (وأي نماذج مساعدّة مثل محولات LoRA مخصّصة للميزة) وإدارة المعلمات المثلى للاستدلال (مثل temperature، topK، وعدد النتائج المرغوبة). تشغيل النماذج يحدث محلياً عبر AICore، مما يسمح بالمزايا المتعلقة بالخصوصية والأداء.

نقاط تقنية أساسية يجب معرفتها قبل البدء:

  • اعتماد النظام: APIs تتطلب Android API level 26+ وتعمل عبر Android AICore.
  • حالة الميزة: قبل الاستدعاء يجب فحص حالة Gemini Nano (UNAVAILABLE / DOWNLOADABLE / AVAILABLE) وتنزيل النموذج عند الحاجة.
  • قيود الإدخال/الإخراج: حدّ التوكنات للإدخال حوالى 4000 توكن؛ والمخرجات الطويلة جداً غير مُوصى بها. كما يوجد حدّ استعلامات (quota) مفروض بواسطة AICore لكل تطبيق.
  • قابلية الأجهزة: الأداء والتوافق يختلفان — بعض الأجهزة (مثل سلسلة Pixel الحديثة) تعطي أفضل تجربة، بينما تدعم ML Kit مجموعة واسعة من رقاقات MediaTek وQualcomm وGoogle Tensor على أجهزة متعددة.

فهم هذه النقاط يساعدك على تصميم سير عمل يُعدّ التنزيل، تسخين النموذج (warmup) وإدارة الحالات غير المتاحة (fallback) بشكل صريح داخل التطبيق.

دليل خطوة‑بخطوة مع مثال عملي (Kotlin)

في هذا القسم سنعرض مثالاً مختصراً لبناء ميزة تستخدم ML Kit Prompt API لاستدعاء Gemini Nano محلياً: فحص الحالة، تنزيل النموذج، وإرسال طلب نصي بسيط (text‑only) واستلام النتيجة.

التحضير:

  • أضف الاعتماد في build.gradle للمشروع: implementation("com.google.mlkit:genai-prompt:1.0.0-beta2").
  • تأكد من targetSDK وminSDK مناسبين (API 26+) ومن أن تطبيقك يتعامل مع أذونات الشبكة لتنزيل النموذج.

مثال Kotlin مبسّط:

import com.google.mlkit.genai.generation.Generation
import com.google.mlkit.genai.generation.GenerateContentRequest

// الحصول على كائن العميل
val generativeClient = Generation.getClient()

// 1) فحص الحالة وتنزيل النموذج إن لزم
val status = generativeClient.checkStatus()
when (status) {
  FeatureStatus.DOWNLOADABLE -> {
    // تنزيل في الخلفية (يمكن إظهار تقدم للمستخدم)
    generativeClient.download().collect { downloadStatus ->
      // تحقق من DownloadStarted / DownloadProgress / DownloadCompleted
    }
  }
  FeatureStatus.AVAILABLE -> { /* جاهز للاستخدام */ }
  FeatureStatus.UNAVAILABLE -> { /* خطة بديلة أو إعلام المستخدم */ }
}

// 2) إنشاء طلب توليد محتوى نصي
val request = GenerateContentRequest.Builder(
  TextPart("اكتب قصة قصيرة من 3 جمل عن كلب سحري.")
).apply {
  temperature = 0.2f
  topK = 10
  candidateCount = 1
}.build()

// 3) استدعاء التوليد (غير متدفق)
val response = generativeClient.generateContent(request)
val text = response.candidates.firstOrNull()?.text ?: ""
// عرض النص في واجهة المستخدم

يمكنك أيضاً استخدام واجهة البث (streaming) لعرض النتائج أثناء توليدها أو جمع مدخلات متعددة (مثل صورة + نص) باستخدام ImagePart(bitmap) وTextPart لسيناريوهات multimodal. راجع التوثيق الرسمي لمعلمات إضافية (maxOutputTokens، seed، إلخ).

ملاحظات عملية: استدعاء warmup() قبل أول استدلال يقلل زمن الاستجابة الأولي، واحرص على إدارة حالات الأخطاء مثل مشكلات اتصال AICore أو أجهزة ذات bootloader مفتوح حيث لا تُدعم هذه الواجهات.

اعتبارات أداء، خصوصية ونشر في الإنتاج

قبل نشر ميزة تعتمد على Gemini Nano محلياً، خذ بعين الاعتبار النقاط التالية:

المجالنصيحة عملية
حجم التنزيل والتخزينأبلغ المستخدم بخطوة تنزيل النموذج وقدم خيار التنزيل عبر Wi‑Fi؛ حافظ على مؤشر تقدم. قم بتخطيط مساحة التخزين لأن النموذج وأي ملحقات LoRA قد تشغل عشرات ميغابايت.
الكموناستخدم warmup واحتفظ بنسخة جاهزة في الذاكرة عند حالات الاستخدام المتكررة؛ للخدمات الثقيلة فكر في توليد النتائج في خلفية مستقلة لتفادي تجميد الواجهة.
اللغة وجودة المخرجاتالـPrompt API تم التحقق منه أساسياً للإنجليزية والكورية (قيد التوسيع) — اختبر جودة المخرجات في لغتك المستهدفة وضع اختبارات قبول جودة داخل التطبيق.
القيود والسياساتهناك قيود على عدد الاستدعاءات (quota) وفحص التوافق مع bootloader مُقفل؛ ضع آليات Retry وFallback إلى خدمات سحابية إن لزم الأمر.
الخصوصيةبما أن المعالجة تتم على الجهاز، يمكنك تقليل جمع البيانات السحابية وحفظ السياسات المحلية للخصوصية. وثق الأسباب التقنية لعدم إرسال بيانات المستخدمين إلى السحابة ضمن سياسة الخصوصية لتطبيقك.

أخيراً، اختبر التطبيق عبر مجموعة واسعة من الأجهزة (Tensor، Snapdragon، Dimensity) لأن الأداء والتوافر يختلفان بحسب النسخة والتهيئة. راقب قياس استعمال البطارية ودرجة حرارة الجهاز أثناء جلسات inference، ووفّر إعدادات تقنين للمستخدم (مثال: وضع اقتصاد الطاقة يُعطّل تنزيل النماذج أو يخفض تكرار التوليد).

لمزيد من الموارد العملية: راجع الوثائق الرسمية لبدء العمل مع Prompt API ومثال GitHub الذي يوفر تطبيق عرضي يبرهن السيناريوهات المذكورة.

إعلان

مقالات ذات صلة

Nine digital devices on a table with green screens, ready for content editing.

حوكمة الخصوصية مع Gemini Nano على الهواتف: أذونات، معالجة محلية وشفافية للمطوّرين

إرشادات عملية لتصميم أذونات، ضمان المعالجة المحلية وسياسات الشفافية عند دمج Gemini Nano على الهواتف لحماية بيا…

Side view of a young man wearing wireless earbuds and using a smartphone indoors.

قائمة فحص عملية لاختبار توافق LE Audio وAuracast عبر الأجهزة — دليل مهندسي متقدم

دليل عملي للمهندسين لاختبار توافق LE Audio وAuracast على Android، Windows وأنظمة السيارات: مصفوفات اختبار، خطو…

Person holding smartphone showing XOS interface on the screen, captured outdoors.

تشخيص وحل مشاكل البلوتوث في Android 16: إرشادات عملية للمستخدمين والمطورين

دليل عملي لحل مشكلات البلوتوث في Android 16: إعدادات متعثِّرة، اختفاء تحكم الصوت، وفصل أجهزة LC3 — خطوات مستخد…

Close-up of a hand interacting with ChatGPT on a smartphone, showcasing modern AI technology.

إدارة تنزيلات ونماذج Gemini Nano على الهواتف: دليل عملي لتقليل البيانات والقرص وتحسين التجربة

دليل عملي لإدارة وتنزيلات Gemini Nano على الهواتف: تقليل استهلاك البيانات، توفير التخزين، تحديثات ذكية ونصائح…

A senior couple on a ferry admiring the Istanbul skyline with historic mosques on a sunny day.

هل تشتري فولدابل الآن أم تنتظر؟ دليل خرائط الإصدارات 2025–2026 ونصائح لتقليل مخاطر إصلاح الشاشة

دليل عملي لاتخاذ قرار شراء هاتف قابل للطي: خارطة إصدارات 2025–2026، توقعات الأسعار، تكاليف إصلاح الشاشة ونصائح…

Close-up of a smartphone with an AI chat interface titled "DeepSeek" on the screen.

فتح إمكانيات Gemini Nano للمطورين: APIs وحالات استخدام محلية وأمثلة عملية (2026)

كيفية استخدام Gemini Nano عبر ML Kit (Prompt & GenAI APIs) لبناء ميزات on‑device آمنة وسريعة: واجهات، أمثلة، و…