استخدام إعدادات النموذج للتحكّم في الردود

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

في معظم حالات الاستخدام عند الوصول إلى نموذج Gemini، يمكنك ضبط النموذج باستخدام GenerationConfig. ومع ذلك، إذا كنت بصدد ضبط نموذج Gemini Live API، عليك استخدام LiveGenerationConfig.

توضّح هذه الصفحة كيفية إعداد الضبط لنماذج Gemini وتقدّم وصفًا لكل مَعلمة.

الانتقال إلى إعدادات Gemini الانتقال إلى إعدادات Gemini Live API

‫GenerationConfig لـ Gemini نموذج

انقر على مزوّد Gemini API لعرض المحتوى والرمز الخاصين بالمزوّد على هذه الصفحة.

يمكنك ضبط GenerationConfig لمعظم نماذج Gemini، بما في ذلك النماذج ذات الاستخدام العام، ونماذج إنشاء الصور (نماذج "Nano Banana")، ونماذج تحويل النص إلى كلام (TTS).

يتم الاحتفاظ بالإعدادات طوال مدة استخدام مثيل GenerativeModel. إذا أردت استخدام إعدادات مختلفة، أنشئ واستخدِم مثيلاً جديدًا بإعدادات مختلفة.

Swift

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


import FirebaseAILogic

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
let config = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"]
)

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
let model = FirebaseAI.firebaseAI(backend: .agentPlatform()).generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
}

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.agentPlatform()).generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    generationConfig = config
)

// ...

Java

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");

GenerationConfig config = configBuilder.build();

// Specify the config as part of creating the `GenerativeModel` instance.
GenerativeModelFutures model = GenerativeModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.agentPlatform())
                .generativeModel(
                    "GEMINI_MODEL_NAME",
                    config
                );
);

// ...

Web

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend() });

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
const generationConfig = {
  maxOutputTokens: 200,
  stopSequences: ["red"],
};

// Specify the config as part of creating the `GenerativeModel` instance.
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME",  generationConfig });

// ...

Dart

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
final generationConfig = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"],
);

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.agentPlatform().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  config: generationConfig,
);

// ...

Unity

اضبط قيم المَعلمات في GenerationConfig كجزء من إنشاء مثيل GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
var generationConfig = new GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" }
);

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.AgentPlatform());
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: generationConfig
);

يمكنك الاطّلاع على وصف لكل مَعلمة في القسم التالي من هذه الصفحة.

يمكنك تجربة الطلبات وإعدادات النماذج باستخدام Agent  Studio.

‫LiveGenerationConfig لـ Gemini Live API نموذج

انقر على مزوّد خدمة Gemini API لعرض المحتوى والرمز البرمجي الخاصَّين بالمزوّد على هذه الصفحة.

لا يمكن ضبط LiveGenerationConfig إلا عند استخدام نماذج Gemini Live API.

يتم الاحتفاظ بالإعدادات طوال مدة تشغيل مثيل LiveModel. إذا أردت استخدام إعدادات مختلفة، أنشئ واستخدِم مثيلاً جديدًا بإعدادات مختلفة.

Swift

اضبط قيم المَعلمات في liveGenerationConfig أثناء إعداد مثيل LiveModel:


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
let config = LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: [.audio],
  speech: SpeechConfig(voiceName: "Fenrir"),
)

// Specify the config as part of creating the `liveModel` instance.
let liveModel = FirebaseAI.firebaseAI(backend: .agentPlatform(location: "us-central1")).liveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

يمكنك ضبط قيم المَعلمات في LiveGenerationConfig كجزء من إنشاء مثيل LiveModel.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
val config = liveGenerationConfig {
    maxOutputTokens = 200
    responseModality = ResponseModality.AUDIO
    speechConfig = SpeechConfig(voice = Voice("FENRIR"))
}

// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.agentPlatform(location = "us-central1")).liveModel(
    modelName = "GEMINI_LIVE_MODEL_NAME",
    generationConfig = config
)

// ...

Java

اضبط قيم المَعلمات في LiveGenerationConfig كجزء من إنشاء مثيل LiveModel.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
LiveGenerationConfig.Builder configBuilder = new LiveGenerationConfig.Builder();
configBuilder.setMaxOutputTokens(200);
configBuilder.setResponseModality(ResponseModality.AUDIO);

configBuilder.setSpeechConfig(new SpeechConfig(new Voice("FENRIR")));

LiveGenerationConfig config = configBuilder.build();

// Specify the config as part of creating the `LiveModel` instance.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.agentPlatform("us-central1")).liveModel(
          "GEMINI_LIVE_MODEL_NAME",
          config
);

// ...

Web

اضبط قيم المَعلمات في LiveGenerationConfig أثناء إعداد مثيل LiveGenerativeModel:


// ...

// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend("us-central1") });

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
const liveGenerationConfig = {
  maxOutputTokens: 200,
  responseModalities: [ResponseModality.AUDIO],
  speechConfig: {
    voiceConfig: {
      prebuiltVoiceConfig: { voiceName: "Fenrir" },
    },
  },
};

// Specify the config as part of creating the `LiveGenerativeModel` instance.
const liveModel = getLiveGenerativeModel(ai, {
  model: "GEMINI_LIVE_MODEL_NAME",
  liveGenerationConfig,
});

// ...

Dart

اضبط قيم المَعلمات في LiveGenerationConfig كجزء من إنشاء مثيل LiveGenerativeModel.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
final config = LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: [ResponseModalities.audio],
  speechConfig: SpeechConfig(voiceName: 'Fenrir'),
);

// Specify the config as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.agentPlatform(location: 'us-central1').liveGenerativeModel(
  model: 'GEMINI_LIVE_MODEL_NAME',
  liveGenerationConfig: config,
);

// ...

Unity

اضبط قيم المَعلمات في LiveGenerationConfig كجزء من إنشاء مثيل LiveModel.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
var config = new LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: new[] { ResponseModality.Audio },
  speechConfig: SpeechConfig.UsePrebuiltVoice("Fenrir")
);

// Specify the config as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.AgentPlatform(location: "us-central1")).GetLiveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  liveGenerationConfig: config
);

// ...

يمكنك العثور على وصف لكل مَعلمة في القسم التالي من هذه الصفحة.

يمكنك تجربة الطلبات وإعدادات النماذج باستخدام Agent  Studio.



وصف المَعلمات

يقدّم الجدول التالي نظرة عامة على المَعلمات المتاحة. لا تنطبق بعض المَعلمات إلا على طُرز معيّنة.

المَعلمة الوصف القيود القيمة التلقائية
الطابع الزمني للصوت
audioTimestamp
يتيح فهم الطوابع الزمنية لملفات الإدخال الصوتية فقط.

قيمة منطقية

لا ينطبق هذا الخيار إلا عند استخدام إعداد GenerativeModel وكان نوع الإدخال ملفًا صوتيًا فقط.

false
الحد الأقصى لرموز الناتج المميّزة
maxOutputTokens

يحدّد الحد الأقصى لعدد الرموز المميّزة التي يمكن إنشاؤها في الردّ.

بالنسبة إلى gemini-4-argon، يبلغ الحدّ الأقصى التلقائي لعدد الرموز المميّزة الناتجة 32,768 رمز مميّز للطلبات غير المتعلّقة بالبث المباشر و65,536 رمز مميّز للطلبات المتعلّقة بالبث المباشر. يُرجى العِلم أنّ Firebase AI Logic لا يتيح بعد فك الترميز الطويل، ولكن ستتوفّر هذه الميزة قريبًا.

--- ---
إيقاف التسلسلات
stopSequences
تحدّد هذه السمة قائمة بالسلاسل التي تطلب من النموذج التوقّف عن إنشاء المحتوى إذا صادف إحدى السلاسل في الردّ.

لا ينطبق ذلك إلا عند استخدام إعدادات GenerativeModel.

لا ينطبق ذلك على نماذج الصور ("Nano Banana") أو نماذج تحويل النص إلى كلام.

---
الإعدادات المتخصّصة
جارٍ التفكير
thinkingConfig

تتحكّم هذه المَعلمة في "عملية التفكير" التي تتبعها النماذج عند إنشاء رد.

  • يمكنك التحكّم في مقدار التفكير الذي يمكن أن يقوم به النموذج باستخدام مستوى التفكير.
  • اختيار ما إذا كنت تريد تضمين ملخّصات التفكير

القيم المسموح بها: راجِع مستندات التفكير

لا ينطبق ذلك على نماذج تحويل النص إلى كلام.

لا يتيح Firebase AI Logic حتى الآن ضبط thinkingConfig لنماذج Live API.

حسب النموذج
طُرق الردّ
responseModalities
تحدّد هذه السمة نوع الإخراج (مثل النص أو الصوت أو الصور). لا ينطبق هذا الحقل (وهو إلزامي) إلا عند استخدام Gemini نماذج الصور (نماذج "Nano Banana") ونماذج تحويل النص إلى كلام Live API والنماذج. ---
خصائص الصور
imageConfig
تحدّد هذه السمة نسبة العرض إلى الارتفاع ودرجة الدقة للصور التي يتم إنشاؤها.

القيم المسموح بها: راجِع ضبط إعدادات إنشاء الصور

ينطبق ذلك فقط عند استخدام نماذج الصور في Gemini (نماذج "Nano Banana").

نسبة العرض إلى الارتفاع 1:1 (مربّع)
دقة 1024x1024
الكلام (الصوت)
speechConfig
يحدّد الصوت المستخدَم في مصدر إخراج الصوت. لا ينطبق هذا الإعداد إلا عند استخدام نماذج تحويل النص إلى كلام ونماذج Live API.

هذه السمة مطلوبة لنماذج تحويل النص إلى كلام.
Puck



خيارات أخرى للتحكّم في إنشاء المحتوى

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