تصف هذه الصفحة خيارات الإعداد التالية للتجارب المختلطة:
تحديد ما إذا تم استخدام الاستنتاج على الجهاز فقط أو في السحابة الإلكترونية
استخدام إعدادات النموذج للتحكّم في الردود (مثل درجة العشوائية)
يُرجى التأكّد من إكمال دليل البدء لإنشاء تجارب مختلطة.
ضبط وضع الاستنتاج
تستخدم الأمثلة في دليل البدء وضع PREFER_ON_DEVICE، ولكن
هذا الوضع هو واحد فقط من أوضاع الاستنتاج الأربعة المتاحة
.
في ما يلي أوضاع الاستنتاج المتاحة:
PREFER_ON_DEVICE: محاولة استخدام النموذج على الجهاز فقط إذا كان متاحًا ويتوافق مع نوع الطلب. وإلا، يتم تسجيل خطأ على الجهاز ثم الرجوع تلقائيًا إلى النموذج المستضاف على السحابة الإلكترونية.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE)Java
InferenceMode mode = InferenceMode.PREFER_ON_DEVICE; OnDeviceConfig config = new OnDeviceConfig(mode);ONLY_ON_DEVICE: محاولة استخدام النموذج على الجهاز فقط إذا كان متاحًا ويتوافق مع نوع الطلب. وإلا، يتم طرح استثناء.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.ONLY_ON_DEVICE)Java
InferenceMode mode = InferenceMode.ONLY_ON_DEVICE; OnDeviceConfig config = new OnDeviceConfig(mode);PREFER_IN_CLOUD: محاولة استخدام النموذج المستضاف على السحابة الإلكترونية إذا كان الجهاز متصلاً بالإنترنت وكان النموذج متاحًا. إذا كان الجهاز غير متصل بالإنترنت، يتم الرجوع إلى النموذج على الجهاز فقط. في جميع حالات الأعطال الأخرى، يتم عرض استثناء.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.PREFER_IN_CLOUD)Java
InferenceMode mode = InferenceMode.PREFER_IN_CLOUD; OnDeviceConfig config = new OnDeviceConfig(mode);ONLY_IN_CLOUD: محاولة استخدام النموذج المستضاف على السحابة الإلكترونية إذا كان الجهاز متصلاً بالإنترنت وكان النموذج متاحًا. وإلا، يتم عرض استثناء.Kotlin
val config = OnDeviceConfig(mode = InferenceMode.ONLY_IN_CLOUD)Java
InferenceMode mode = InferenceMode.ONLY_IN_CLOUD; OnDeviceConfig config = new OnDeviceConfig(mode);
تحديد ما إذا تم استخدام الاستنتاج على الجهاز أو في السحابة الإلكترونية
إذا كان وضع الاستنتاج هو PREFER_ON_DEVICE أو PREFER_IN_CLOUD، قد يكون من المفيد معرفة الوضع الذي تم استخدامه لطلبات معيّنة. تقدّم هذه المعلومات من خلال السمة inferenceSource لكل ردّ.
عند الوصول إلى هذه السمة، ستكون القيمة المعروضة إما ON_DEVICE أو IN_CLOUD.
Kotlin
// ...
print("You used: ${result.response.inferenceSource}")
print(result.response.text)
Java
// ...
System.out.println("You used: " + result.getResponse().getInferenceSource());
System.out.println(result.getResponse().getText());
تحديد نموذج لاستخدامه
|
انقر على مقدّم Gemini API لعرض المحتوى والرمز البرمجي الخاصَّين بالمقدّم على هذه الصفحة. |
يمكنك تحديد نموذج لاستخدامه عند إنشاء مثيل generativeModel (Kotlin | Java).
تحديد نموذج مستضاف على السحابة الإلكترونية:
إذا كان وضع الاستنتاج هو
PREFER_ON_DEVICEأوPREFER_IN_CLOUDأوONLY_IN_CLOUD، يجب تحديد نموذج مستضاف على السحابة الإلكترونية لاستخدامه بشكلٍ صريح. لا تحتوي حزمة SDK على نموذج تلقائي مستضاف على السحابة الإلكترونية.يمكنك العثور على أسماء النماذج لجميع نماذج Gemini المستضافة على السحابة الإلكترونية والمتاحة.
تحديد نموذج على الجهاز فقط:
إذا كان وضع الاستنتاج هو
PREFER_ON_DEVICEأوPREFER_IN_CLOUDأوONLY_ON_DEVICE، يمكنك اختياريًا تحديد "فئة" نموذج على الجهاز فقط لاستخدامه فيonDeviceConfig. الفئات هي مزيج من مرحلة الإصدار وخصائص الأداء.في ما يلي قيم الفئات المتاحة:
تختار خدمة AICore تلقائيًا النموذج على الجهاز فقط الذي يستوفي شروط الفئة المحدّدة ويتوافق مع الجهاز. على سبيل المثال، إذا حدّدتPREVIEWوكان الجهاز هو Pixel 9، من المرجّح أن يتم الاختيار التلقائي لـ Gemini Nano 4 Full [إصدار تجريبي] (nano-v4-full).STABLE: أحدث نموذج ثابت على الجهاز فقط.تم اختباره بالكامل على أجهزة المستهلكين.
على سبيل المثال، Gemini Nano 3 (
nano-v3) أو Gemini Nano 2 (nano-v2)الإعداد التلقائي للنموذج على الجهاز فقط إذا لم يتم تحديد
OnDeviceModelOption
PREVIEW: أحدث نموذج تجريبي على الجهاز فقط يتمتّع بقدرات أداء كاملةتم تصميمه لتعزيز قدرات الاستنتاج وإنجاز المهام المعقّدة.
على سبيل المثال، Gemini Nano 4 Full [إصدار تجريبي] (
nano-v4-full، المستند إلى Gemma 4 E4B)
PREVIEW_FAST: أحدث نموذج تجريبي على الجهاز سريعتم تحسينه لتحقيق أقصى سرعة وأقلّ وقت استجابة.
على سبيل المثال، Gemini Nano 4 Fast [إصدار تجريبي] (
nano-v4-fast، المستند إلى Gemma 4 E2B)
Kotlin
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel(
// Specify a cloud-hosted model.
// Required for `PREFER_ON_DEVICE`, `PREFER_IN_CLOUD`, and `ONLY_IN_CLOUD` inference modes.
modelName = "CLOUD_HOSTED_MODEL_NAME",
onDeviceConfig = OnDeviceConfig(
mode = InferenceMode.INFERENCE_MODE,
// (Optional) Specify an on-device model category.
// AICore will auto-select an on-device model based on this category.
// If not specified, AICore will auto-select the default stable on-device model.
modelOption = OnDeviceModelOption.ON-DEVICE_MODEL_CATEGORY)
)
Java
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
// Specify a cloud-hosted model.
// Required for `PREFER_ON_DEVICE`, `PREFER_IN_CLOUD`, and `ONLY_IN_CLOUD` inference modes.
"CLOUD_HOSTED_MODEL_NAME",
/* config = */ null,
/* safetySettings = */ null,
/* tools = */ null,
/* toolConfig = */ null,
/* systemInstruction = */ null,
/* requestOptions = */ new RequestOptions(),
new OnDeviceConfig(
/* mode = */ InferenceMode.INFERENCE_MODE,
/* maxOutputTokens = */ null,
/* temperature = */ null,
/* topK = */ null,
/* seed = */ null,
/* candidateCount = */ 1,
// (Optional) Specify an on-device model category.
// AICore will auto-select an on-device model based on this category.
// If not specified, AICore will auto-select the default stable on-device model.
/* modelOption = */ OnDeviceModelOption.ON-DEVICE_MODEL_CATEGORY)
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
استخدام إعدادات النموذج للتحكّم في الردود
|
انقر على مقدّم Gemini API لعرض المحتوى والرمز البرمجي الخاصَّين بالمقدّم على هذه الصفحة. |
في كل طلب يتم إرساله إلى نموذج، يمكنك إرسال إعدادات نموذج للتحكّم في طريقة إنشاء النموذج للردّ. تقدّم النماذج المستضافة على السحابة الإلكترونية والنماذج على الجهاز فقط خيارات إعداد مختلفة (المَعلمات المستضافة على السحابة الإلكترونية مقابل المَعلمات على الجهاز فقط ).
بالنسبة إلى النماذج المستضافة على السحابة الإلكترونية، يمكنك ضبط إعداداتها مباشرةً في إعدادات النموذج. أما بالنسبة إلى النماذج على الجهاز، يمكنك ضبط إعداداتها ضمن
an
onDeviceConfig.
يتم الاحتفاظ بالإعدادات طوال فترة بقاء المثيل. إذا أردت استخدام إعدادات مختلفة، يمكنك إنشاء مثيل GenerativeModel جديد باستخدام هذه الإعدادات.
في ما يلي مثال يضبط الإعدادات للنموذجَين المستضافَين على السحابة الإلكترونية وعلى الجهاز فقط اللذَين يمكن استخدامهما إذا تم ضبط وضع الاستنتاج PREFER_ON_DEVICE:
Kotlin
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("MODEL_NAME",
// Config for cloud-hosted model
generationConfig = generationConfig {
temperature = 0.8f,
topK = 10
},
// Config for on-device model
onDeviceConfig = onDeviceConfig {
mode = InferenceMode.PREFER_ON_DEVICE,
temperature = 0.8f,
topK = 5
})
Java
// Config for cloud-hosted model
GenerationConfig generationConfig = new GenerationConfig.Builder()
.setTemperature(0.8f)
.setTopK(10)
.build();
// Config for on-device model
OnDeviceConfig onDeviceConfig = new OnDeviceConfig.Builder()
.setMode(InferenceMode.PREFER_ON_DEVICE)
.setTemperature(0.8f)
.setTopK(5)
.build();
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
"MODEL_NAME",
generationConfig,
onDeviceConfig
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);