يمكنك إنشاء تطبيقات وميزات Android مستندة إلى الذكاء الاصطناعي باستخدام الاستنتاج المختلط من خلال Firebase AI Logic. يتيح الاستنتاج المختلط تشغيل الاستنتاج باستخدام النماذج على الجهاز فقط عندما تكون متاحة، والرجوع بسلاسة إلى النماذج المستضافة على السحابة الإلكترونية في الحالات الأخرى (والعكس صحيح).
توضّح هذه الصفحة كيفية بدء استخدام حزمة تطوير البرامج (SDK) للعميل، بالإضافة إلى عرض خيارات وإمكانات الضبط الإضافية.
يُرجى العِلم أنّ الاستدلال على الجهاز فقط من خلال "Firebase AI Logic" متاح لتطبيقات Android التي تستخدم الإصدار 17.10.0 أو إصدار أحدث من حزمة تطوير البرامج (SDK) لـ "Firebase AI Logic" (الإصدار 34.10.0 أو إصدار أحدث من "BoM") والتي تعمل على أجهزة معيّنة. وتخضع هذه الميزة لبنود "حزمة تعلّم الآلة"، بالإضافة إلى البنود الخاصة بجوانب الذكاء الاصطناعي التوليدي في "حزمة تعلّم الآلة".
حالات الاستخدام المقترَحة والإمكانات المتوافقة
حالات الاستخدام المقترَحة
يوفّر استخدام نموذج على الجهاز فقط للاستدلال ما يلي:
- خصوصية محسّنة
- السياق المحلي
- الاستدلال بدون تكلفة
- وظائف بلا إنترنت
يوفّر استخدام وظائف الوضع المختلط ما يلي:
- الوصول إلى المزيد من الجمهور من خلال توفير النموذج على الجهاز فقط والاتصال بالإنترنت
الإمكانات والميزات المتوافقة للاستنتاج على الجهاز فقط
لا يتيح الاستنتاج على الجهاز سوى إنشاء النصوص من خلال طلب واحد (وليس المحادثة)، مع إخراج البث أو عدم البث. وهو يتيح إمكانات إنشاء النصوص التالية:
إنشاء نص من إدخال نصي فقط
إنشاء نص من إدخال نص وصورة، وتحديدًا صورة نقطية واحدة كإدخال
احرص على مراجعة قائمة الميزات غير المتاحة بعد للاستنتاج على الجهاز فقط في أسفل هذه الصفحة.
قبل البدء
يُرجى وضع الملاحظات التالية في الاعتبار:
واجهات برمجة التطبيقات المتوافقة:
يستخدم الاستنتاج في السحابة الإلكترونية مقدّم خدمة Gemini API الذي اخترته (إما Gemini Developer API أو Agent Platform Gemini API (formerly Vertex AI)).
يستخدم الاستنتاج على الجهاز فقط Prompt API من حزمة تعلّم الآلة، وهي في مرحلة تجريبية ولا تتوفّر إلا على أجهزة معيّنة.
توضّح هذه الصفحة كيفية البدء.
بعد إكمال عملية الإعداد العادية هذه، اطّلِع على خيارات وإمكانات الضبط الإضافية.
أجهزة Android المتوافقة ونماذجها على الجهاز فقط
بالنسبة إلى الاستدلال على الجهاز فقط (الذي يستخدم Prompt API من حزمة تعلّم الآلة)، يمكنك العثور على قائمة بالأجهزة المتوافقة ونماذجها على الجهاز فقط في مستندات حزمة تعلّم الآلة.
البدء
توضّح خطوات البدء هذه الإعدادات العامة المطلوبة لأي طلب موجَّه تريد إرساله.
الخطوة 1: إعداد مشروع Firebase وربط تطبيقك بـ Firebase
سجِّل الدخول إلى وحدة تحكّم Firebase، ثم اختَر مشروعك على Firebase.
في وحدة تحكّم Firebase، انتقِل إلى خدمات الذكاء الاصطناعي > AI Logic.
انقر على البدء لإطلاق سير عمل موجَّه يساعدك في إعداد واجهات برمجة التطبيقات المطلوبة والموارد لمشروعك.
اتّبِع التعليمات الظاهرة على الشاشة لتسجيل تطبيقك وإضافة إعدادات Firebase إليه، إذا طُلب منك ذلك.
عندما يُطلب منك اختيار "مقدّم خدمة Gemini API"، ننصحك باختيار Gemini Developer API، الذي يتيح لك البدء بسرعة بدون أي تكلفة.
يمكنك في أي وقت لاحق إعداد Agent Platform Gemini API (formerly Vertex AI) (ومتطلباته للفوترة).
يُرجى المتابعة في سير العمل لإعداد واجهات برمجة التطبيقات المطلوبة والخدمات المرتبطة بها لـ "Firebase AI Logic".
اعتبارًا من أوائل يوليو 2026، ستفرض هذه المرحلة من سير العمل تلقائيًا استخدام Firebase App Check في AI Logic، وهي خدمة مهمة للمساعدة في حماية Gemini API عند الوصول إليها مباشرةً من تطبيقك. كجزء من عملية البدء (راجِع الخطوات الواردة لاحقًا في هذا الدليل)، عليك ضبط App Check مقدّم خدمة تصحيح الأخطاء للتطوير على الجهاز عند فرض استخدام App Check.
انتقِل إلى الخطوة التالية في هذا الدليل لإضافة حزم تطوير البرامج (SDK) المطلوبة إلى تطبيقك.
الخطوة 2: إضافة حزم تطوير البرامج (SDK) المطلوبة
تتيح حزمة تطوير البرامج (SDK) لـ Firebase AI Logic على أجهزة Android
(firebase-aifirebase-ai-ondevice
في ملف Gradle للوحدة (على مستوى التطبيق) (مثل <project>/<app-module>/build.gradle.kts)، أضِف العناصر التابعة لمكتبتَي Firebase AI Logic وApp Check لنظام التشغيل Android:
Kotlin
dependencies { // ... other androidx dependencies // Add the dependencies for the Firebase AI Logic and App Check libraries // Note that the on-device SDK is not yet included in the Firebase Android BoM implementation("com.google.firebase:firebase-ai:18.1.0") implementation("com.google.firebase:firebase-ai-ondevice:16.0.0-beta07") implementation("com.google.firebase:firebase-appcheck-debug:20.0.0") }
Java
بالنسبة إلى Java، عليك إضافة مكتبتَين إضافيتَين.
dependencies { // ... other androidx dependencies // Add the dependencies for the Firebase AI Logic and App Check libraries // Note that the on-device SDK is not yet included in the Firebase Android BoM implementation("com.google.firebase:firebase-ai:18.1.0") implementation("com.google.firebase:firebase-ai-ondevice:16.0.0-beta07") implementation("com.google.firebase:firebase-appcheck-debug:20.0.0") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
الخطوة 3: ضبط مقدّم خدمة تصحيح الأخطاء في App Check للتطوير على الجهاز المحلي
اعتبارًا من أوائل يوليو 2026، سيتم تنفيذ Firebase App Check تلقائيًا كجزء من عملية الإعداد الموجَّهة لـ AI Logic في وحدة التحكّم، وذلك لحماية Gemini API. للتطوير على الجهاز، عليك ضبط App Check مقدّم خدمة تصحيح الأخطاء لتجاوز عملية التحقّق مع مواصلة فرض App Check.
في الإصدار المخصّص لتصحيح الأخطاء، اضبط App Check لاستخدام مصنع مقدّم خدمة تصحيح الأخطاء:
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), )Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance());احصل على الرمز المميّز لتصحيح الأخطاء:
شغِّل تطبيقك في المحاكي أو على جهازك الاختباري.
ابحث عن الرمز المميّز لتصحيح الأخطاء App Check في سجلّاتك. على سبيل المثال:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678انسخ الرمز المميّز (على سبيل المثال،
123a4567-b89c-12d3-e456-789012345678).
سجِّل رمز تصحيح الأخطاء في App Check:
في وحدة تحكّم Firebase، انتقِل إلى الأمان > فحص التطبيقات > علامة التبويب التطبيقات.
ابحث عن تطبيقك، وانقر على قائمة الكاملة ()، ثم اختَر إدارة الرموز المميّزة لتصحيح الأخطاء.
اتّبِع التعليمات الظاهرة على الشاشة لتسجيل الرمز المميّز لتصحيح الأخطاء.
لمعرفة التفاصيل حول مقدّم خدمة تصحيح الأخطاء (بما في ذلك كيفية الحصول على رمز مميّز جديد لتصحيح الأخطاء)، يُرجى الاطّلاع على مستندات App Check الرسمية.
الخطوة 4: التحقّق من توفّر النموذج على الجهاز فقط
باستخدام
FirebaseAIOnDevice،
تحقَّق مما إذا كان النموذج المتوفّر على الجهاز متاحًا، ونزِّله إذا لم يكن
متاحًا.
بعد تنزيل النموذج، ستحافظ ميزة AICore على تحديثه تلقائيًا. يمكنك الاطّلاع على الملاحظات بعد المقتطف لمزيد من التفاصيل حول AICore وإدارة عملية تنزيل النموذج على الجهاز فقط.
Kotlin
val status = FirebaseAIOnDevice.checkStatus()
when (status) {
OnDeviceModelStatus.UNAVAILABLE -> {
Log.w(TAG, "On-device model is unavailable")
}
OnDeviceModelStatus.DOWNLOADABLE -> {
FirebaseAIOnDevice.download().collect { status ->
when (status) {
is DownloadStatus.DownloadStarted ->
Log.w(TAG, "Starting download - ${status.bytesToDownload}")
is DownloadStatus.DownloadInProgress ->
Log.w(TAG, "Download in progress ${status.totalBytesDownloaded} bytes downloaded")
is DownloadStatus.DownloadCompleted ->
Log.w(TAG, "On-device model download complete")
is DownloadStatus.DownloadFailed ->
Log.e(TAG, "Download failed ${status}")
}
}
}
OnDeviceModelStatus.DOWNLOADING -> {
Log.w(TAG, "On-device model is being downloaded")
}
OnDeviceModelStatus.AVAILABLE -> {
Log.w(TAG, "On-device model is available")
}
}
Java
Checking for, downloading, and warming up the model is not yet available for Java.
However, all other APIs and interactions in this guide are available for Java.
يُرجى ملاحظة ما يلي بشأن تنزيل النموذج على الجهاز فقط:
يعتمد الوقت المستغرَق لتنزيل النموذج على الجهاز فقط على عدة عوامل، بما في ذلك شبكتك.
إذا كان الرمز البرمجي يستخدم نموذجًا على الجهاز فقط للاستدلال الأساسي أو الاحتياطي، يُرجى التأكّد من تنزيل النموذج في وقت مبكر من مراحل نشاط تطبيقك ليكون النموذج على الجهاز فقط متاحًا قبل أن يواجه المستخدمون النهائيون الرمز البرمجي في تطبيقك.
إذا كان النموذج على الجهاز فقط غير متاح عند تقديم طلب استنتاج على الجهاز فقط، لن تبدأ حزمة تطوير البرامج (SDK) تلقائيًا عملية تنزيل النموذج على الجهاز فقط. ستعود حزمة SDK إلى النموذج المستضاف على السحابة الإلكترونية أو ستُظهر استثناءً (يمكنك الاطّلاع على تفاصيل حول سلوك أوضاع الاستنتاج).
AICore (خدمة تابعة لنظام التشغيل Android) تدير لك النموذج والإصدار الذي يتم تنزيله، وتحافظ على تحديث النموذج، وما إلى ذلك. يُرجى ملاحظة أن الجهاز سيحتوي على نموذج واحد فقط تم تنزيله، لذلك إذا نجح تطبيق آخر على الجهاز في تنزيل النموذج على الجهاز فقط من قبل، فسيؤدي هذا التحقق إلى إرجاع أن النموذج متاح.
تحسين وقت الاستجابة
لتحسين أول طلب استنتاج، يمكنك جعل تطبيقك يطلب
onDeviceExtension?.warmUp()
(متاح حاليًا للغة Kotlin فقط). يؤدي ذلك إلى تحميل النموذج على الجهاز فقط في
الذاكرة وتهيئة مكوّنات وقت التشغيل.
الخطوة 5: إعداد الخدمة وإنشاء نسخة من النموذج
|
انقر على مزوّد خدمة Gemini API لعرض المحتوى والرمز البرمجي الخاصَّين بالمزوّد على هذه الصفحة. |
يجب إعداد ما يلي قبل إرسال طلب إلى النموذج.
ابدأ الخدمة لمقدّم واجهة برمجة التطبيقات الذي اخترته.
أنشئ مثيل
GenerativeModel، واضبطmodeعلى أحد الخيارات التالية. الأوصاف الواردة هنا عامة جدًا، ولكن يمكنك الاطّلاع على تفاصيل حول سلوك هذه الأوضاع في ضبط وضع الاستنتاج.PREFER_ON_DEVICE: محاولة استخدام النموذج على الجهاز فقط، وإلا يتم الرجوع إلى النموذج المستضاف على السحابة الإلكترونيةONLY_ON_DEVICE: محاولة استخدام النموذج على الجهاز فقط؛ وإلا سيتم طرح استثناء.PREFER_IN_CLOUD: محاولة استخدام النموذج المستضاف على السحابة الإلكترونية، وإلا يتم الرجوع إلى النموذج المتوفّر على الجهاز فقط.ONLY_IN_CLOUD: محاولة استخدام النموذج المستضاف على السحابة الإلكترونية، وإلا يتم طرح استثناء.
Kotlin
// Using this SDK to access on-device inference is an Experimental release and requires opt-in
@OptIn(PublicPreviewAPI::class)
// ...
// Initialize the Gemini Developer API backend service
// Create a GenerativeModel instance with a model that supports your use case
// Set the inference mode (like PREFER_ON_DEVICE to use the on-device model if available)
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel(
modelName = "CLOUD_MODEL_NAME",
onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)
)
Java
// Initialize the Gemini Developer API backend service
// Create a GenerativeModel instance with a model that supports your use case
// Set the inference mode (like PREFER_ON_DEVICE to use the on-device model if available)
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
"CLOUD_MODEL_NAME",
new OnDeviceConfig(InferenceMode.PREFER_ON_DEVICE)
);
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
الخطوة 6: إرسال طلب إلى نموذج
يوضّح لك هذا القسم كيفية إرسال أنواع مختلفة من الإدخالات لإنشاء أنواع مختلفة من المخرجات، بما في ذلك:
إنشاء نصّ من إنشاء الذكاء الاصطناعي من إدخال نصي فقط
| قبل تجربة هذا النموذج، تأكَّد من إكمال قسم البدء في هذا الدليل. |
يمكنك استخدام
generateContent()
لإنشاء نصّ من إنشاء الذكاء الاصطناعي من طلب يتضمّن نصًا:
Kotlin
// Imports + initialization of Gemini API backend service + creation of model instance
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = model.generateContent(prompt)
print(response.text)
Java
// Imports + initialization of Gemini API backend service + creation of model instance
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
يُرجى العِلم أنّ Firebase AI Logic يتيح أيضًا بث الردود النصية باستخدام
generateContentStream
(بدلاً من generateContent).
إنشاء نصّ من إنشاء الذكاء الاصطناعي من إدخال نص وصورة (متعدد الوسائط)
| قبل تجربة هذا النموذج، تأكَّد من إكمال قسم البدء في هذا الدليل. |
يمكنك استخدام
generateContent()
لإنشاء نصّ من إنشاء الذكاء الاصطناعي من طلب يحتوي على نص وملف صورة واحد كحد أقصى
(صورة نقطية فقط)، وذلك من خلال تقديم mimeType لكل ملف إدخال والملف نفسه.
Kotlin
// Imports + initialization of Gemini API backend service + creation of model instance
// Loads an image from the app/res/drawable/ directory
val bitmap: Bitmap = BitmapFactory.decodeResource(resources, R.drawable.sparky)
// Provide a prompt that includes the image specified above and text
val prompt = content {
image(bitmap)
text("What developer tool is this mascot from?")
}
// To generate text output, call generateContent with the prompt
val response = model.generateContent(prompt)
print(response.text)
Java
// Imports + initialization of Gemini API backend service + creation of model instance
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sparky);
// Provide a prompt that includes the image specified above and text
Content content = new Content.Builder()
.addImage(bitmap)
.addText("What developer tool is this mascot from?")
.build();
// To generate text output, call generateContent with the prompt
ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
يُرجى العِلم أنّ Firebase AI Logic يتيح أيضًا بث الردود النصية باستخدام
generateContentStream
(بدلاً من generateContent).
ما هي المهام الأخرى التي يمكنني تنفيذها؟
يمكنك استخدام خيارات وإمكانات ضبط إضافية مختلفة لتجاربك المختلطة:
الميزات غير المتوفّرة بعد للاستنتاج على الجهاز فقط
بما أنّ هذا الإصدار تجريبي، لا تتوفّر جميع إمكانات النماذج السحابية للاستنتاج على الجهاز فقط. لا تتوفّر الميزات التالية بعد للاستنتاج على الجهاز فقط (ولكنّها تتوفّر عادةً للاستنتاج المستنِد إلى السحابة الإلكترونية).
جارٍ إنشاء الصور
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
ONLY_ON_DEVICEإلى ظهور استثناء.
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
إنشاء نص من أنواع ملفات الصور المدخلة غير Bitmap (صورة تم تحميلها في الذاكرة)
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
ONLY_ON_DEVICEإلى ظهور استثناء.
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
إنشاء نصّ من إنشاء الذكاء الاصطناعي من ملف إدخال يحتوي على صور فقط بالنسبة إلى الاستدلال على الجهاز فقط، يجب تقديم نص كجزء من الطلب المتعدد الوسائط.
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
ONLY_ON_DEVICEإلى ظهور استثناء.
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
إنشاء نصّ من إنشاء الذكاء الاصطناعي من أكثر من ملف صورة واحد
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
ONLY_ON_DEVICEإلى ظهور استثناء.
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
إنشاء نص من ملفات صوتية وفيديوهات ومستندات (مثل ملفات PDF)
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
ONLY_ON_DEVICEإلى ظهور استثناء.
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
تقديم الملفات باستخدام عناوين URL في الطلبات المتعددة الوسائط بالنسبة إلى الاستدلال على الجهاز فقط، يجب تقديم صورة واحدة بتنسيق Bitmap.
- إذا قدّمت عنوان URL لملف باستخدام
fileData(FileDataPart)، يمكن أن يعود إلى النموذج المستضاف على السحابة الإلكترونية (سيؤدي وضعONLY_ON_DEVICEإلى ظهور استثناء). - إذا ضمّنت عنوان URL مباشرةً في طلب نصي، لن يتم تلقائيًا الرجوع إلى النموذج المستضاف على السحابة الإلكترونية (يتم تجاهل عناوين URL المضمّنة في النموذج على الجهاز فقط).
- إذا قدّمت عنوان URL لملف باستخدام
إرسال طلبات تتجاوز 4,000 رمز مميّز (أو حوالي 3,000 كلمة باللغة الإنجليزية)
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
ONLY_ON_DEVICEإلى ظهور استثناء.
- يمكن الرجوع إلى النموذج المستضاف على السحابة الإلكترونية،
ولكن سيؤدي وضع
محادثة متعددة الجولات
- لا يعود تلقائيًا إلى النموذج المستضاف على السحابة الإلكترونية (يجمع الاستنتاج على الجهاز فقط سجلّ الطلبات في طلب نصي واحد، وبما أنّ النموذج على الجهاز فقط لا يميّز بين الأدوار ويرى السجلّ كرسالة واحدة، لن يكون دقيقًا مثل النموذج المستضاف على السحابة الإلكترونية).
- إذا أردت استخدام محادثة متعددة الجولات، ننصحك باستخدام وضع
ONLY_IN_CLOUD.
تزويد النموذج بأدوات لمساعدته في إنشاء ردوده (مثل استدعاء الدوال، وتنفيذ الرموز البرمجية، وسياق عناوين URL، والتحقّق من المصادر باستخدام
Google Search ، والتحقّق من المصادر باستخدامGoogle Maps )- لا يتم الرجوع تلقائيًا إلى النموذج المستضاف على السحابة الإلكترونية. إذا أردت استخدام الأدوات، ننصحك باستخدام وضع "
ONLY_IN_CLOUD".
- لا يتم الرجوع تلقائيًا إلى النموذج المستضاف على السحابة الإلكترونية. إذا أردت استخدام الأدوات، ننصحك باستخدام وضع "
لا تعرض ميزة تتبّع استخدام الذكاء الاصطناعي في وحدة تحكّم Firebase أي بيانات حول الاستدلال على الجهاز فقط (بما في ذلك سجلّات الجهاز). ومع ذلك، يمكن مراقبة أي استنتاج يستخدم نموذجًا مستضافًا على السحابة الإلكترونية تمامًا مثل الاستنتاجات الأخرى من خلال Firebase AI Logic.
قيود إضافية
بالإضافة إلى ما سبق، فإنّ الاستدلال على الجهاز فقط له القيود التالية (يمكنك الاطّلاع على مزيد من المعلومات في مستندات حزمة تعلّم الآلة):
يجب أن يستخدم المستخدم النهائي لتطبيقك جهازًا متوافقًا للاستدلال على الجهاز فقط.
لا يمكن لتطبيقك تشغيل الاستدلال على الجهاز إلا عندما يكون في المقدّمة.
تم التحقّق من صحة اللغتين الإنجليزية والكورية فقط للاستدلال على الجهاز فقط.
الحد الأقصى لعدد الرموز المميّزة المسموح بها لطلب الاستنتاج على الجهاز فقط بالكامل هو 4,000 رمز مميّز. إذا كان من المحتمل أن تتجاوز طلباتك هذا الحدّ، تأكَّد من ضبط وضع استنتاج يمكنه استخدام نموذج مستضاف على السحابة الإلكترونية.
ننصحك بتجنُّب حالات استخدام الاستدلال على الجهاز فقط التي تتطلّب مخرجات طويلة (أكثر من 256 رمزًا مميزًا).
تفرض AICore (خدمة تابعة لنظام التشغيل Android تدير النماذج على الجهاز فقط) حصة استنتاج لكل تطبيق. سيؤدي إرسال عدد كبير جدًا من طلبات البيانات من واجهة برمجة التطبيقات في فترة قصيرة إلى ظهور استجابة
ErrorCode.BUSY. إذا ظهر لك هذا الخطأ، ننصحك باستخدام خوارزمية الرقود الأسي الثنائي لإعادة محاولة إرسال الطلب. ويمكن أيضًا عرضErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDEDإذا تجاوز أحد التطبيقات حصة طويلة المدة (مثل الحصة اليومية).
تقديم ملاحظات حول تجربتك مع "Firebase AI Logic"