از پیکربندی مدل برای کنترل پاسخ ها استفاده کنید

در هر فراخوانی به یک مدل، می‌توانید پیکربندی مدل را برای کنترل نحوه تولید پاسخ توسط مدل ارسال کنید. هر مدل از گزینه‌های پیکربندی مختلفی مانند تنظیم maxOutputTokens یا پیکربندی‌های تخصصی برای روش‌های پاسخ، تصاویر یا گفتار پشتیبانی می‌کند.

در اکثر موارد استفاده هنگام دسترسی به یک مدل Gemini ، شما مدل را با استفاده GenerationConfig پیکربندی می‌کنید. با این حال، اگر در حال پیکربندی یک مدل Gemini Live API هستید، از LiveGenerationConfig استفاده می‌کنید.

این صفحه نحوه تنظیم پیکربندی مدل‌های Gemini را نشان می‌دهد و توضیحی در مورد هر پارامتر ارائه می‌دهد.

پرش به پیکربندی Gemini پرش به پیکربندی Gemini Live API

GenerationConfig برای مدل‌های Gemini

برای مشاهده محتوا و کد مخصوص ارائه‌دهنده در این صفحه، روی ارائه‌دهنده API Gemini خود کلیک کنید.

پلتفرم عامل

برای اکثر مدل‌های Gemini ، شامل مدل‌های عمومی و مدل‌های تولید تصویر (مدل‌های "نانو موز")، یک GenerationConfig تنظیم کنید.

این پیکربندی در طول عمر نمونه GenerativeModel حفظ می‌شود. اگر می‌خواهید از پیکربندی متفاوتی استفاده کنید، یک نمونه جدید با پیکربندی متفاوت ایجاد و استفاده کنید.

سویفت

مقادیر پارامترها را در GenerationConfig به عنوان بخشی از ایجاد یک نمونه GenerativeModel تنظیم کنید.


import FirebaseAILogic

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
let config = GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"]
)

// Initialize the Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
let model = FirebaseAI.firebaseAI(backend: .googleAI()).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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
val config = generationConfig {
    candidateCount = 1
    maxOutputTokens = 200
    stopSequences = listOf("red")
}

// Initialize the Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
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.googleAI())
                .generativeModel(
                    "GEMINI_MODEL_NAME",
                    config
                );
);

// ...

Web

مقادیر پارامترها را در GenerationConfig به عنوان بخشی از ایجاد یک نمونه GenerativeModel تنظیم کنید.


// ...

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
const generationConfig = {
  candidate_count: 1,
  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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
final generationConfig = GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"],
);

// Initialize the Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  config: generationConfig,
);

// ...

وحدت

مقادیر پارامترها را در GenerationConfig به عنوان بخشی از ایجاد یک نمونه GenerativeModel تنظیم کنید.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
var generationConfig = new GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" }
);

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

می‌توانید توضیحات مربوط به هر پارامتر را در بخش بعدی این صفحه بیابید.

شما می‌توانید با استفاده از Google AI Studio با دستورات و پیکربندی‌های مدل آزمایش کنید.

LiveGenerationConfig برای مدل‌های Gemini Live API

برای مشاهده محتوا و کد مخصوص ارائه‌دهنده در این صفحه، روی ارائه‌دهنده API Gemini خود کلیک کنید.

پلتفرم عامل

فقط هنگام استفاده از مدل‌های Gemini Live API LiveGenerationConfig را تنظیم کنید.

این پیکربندی در طول عمر نمونه LiveModel حفظ می‌شود. اگر می‌خواهید از پیکربندی متفاوتی استفاده کنید، یک نمونه جدید با پیکربندی متفاوت ایجاد و استفاده کنید.

سویفت

مقادیر پارامترها را در 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: .googleAI()).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 = Voices.FENRIR)
}

// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.agentPlatform()).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(Voices.FENRIR));

LiveGenerationConfig config = configBuilder.build();

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

// ...

Web

مقادیر پارامترها را در LiveGenerationConfig هنگام مقداردهی اولیه نمونه LiveGenerativeModel تنظیم کنید:


// ...

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// 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.googleAI().liveGenerativeModel(
  model: 'GEMINI_LIVE_MODEL_NAME',
  liveGenerationConfig: config,
);

// ...

وحدت

مقادیر پارامترها را در 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.GoogleAI()).GetLiveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  liveGenerationConfig: config
);

// ...

می‌توانید توضیحات مربوط به هر پارامتر را در بخش بعدی این صفحه بیابید.

شما می‌توانید با استفاده از Google AI Studio با دستورات و پیکربندی‌های مدل آزمایش کنید.



شرح پارامترها

جدول زیر نمای کلی از پارامترهای موجود را نشان می‌دهد. برخی از پارامترها فقط برای مدل‌های خاصی قابل استفاده هستند.

توجه داشته باشید که دما، top-K و top-P منسوخ شده و توسط جدیدترین مدل‌های Gemini نادیده گرفته می‌شوند.

پارامتر توضیحات مقدار پیش‌فرض
مهر زمانی صوتی
audioTimestamp

یک مقدار بولی که امکان درک مهر زمانی را برای فایل‌های ورودی فقط صوتی فراهم می‌کند.

فقط هنگام استفاده از فراخوانی‌های generateContent یا generateContentStream و نوع ورودی یک فایل فقط صوتی، قابل اجرا است.

false
تعداد کاندیداها
candidateCount

تعداد تغییرات پاسخ برای بازگشت را مشخص می‌کند. برای هر درخواست، هزینه توکن‌های خروجی همه کاندیداها از شما دریافت می‌شود، اما برای توکن‌های ورودی فقط یک بار هزینه دریافت می‌شود.

مقادیر پشتیبانی شده: 1 تا 8 (شامل)

فقط هنگام استفاده از generateContent و جدیدترین مدل‌های Gemini قابل اجرا است.
هنگام استفاده از مدل‌های generateContentStream یا Live API قابل اجرا نیست.

1
جریمه فرکانس
frequencyPenalty
احتمال گنجاندن توکن‌هایی که مکرراً در پاسخ تولید شده ظاهر می‌شوند را کنترل می‌کند.
مقادیر مثبت، توکن‌هایی را که مکرراً در محتوای تولید شده ظاهر می‌شوند، جریمه می‌کنند و احتمال تکرار محتوا را کاهش می‌دهند.
---
حداکثر توکن‌های خروجی
maxOutputTokens
حداکثر تعداد توکن‌هایی که می‌توانند در پاسخ تولید شوند را مشخص می‌کند. ---
جریمه حضور
presencePenalty
احتمال گنجاندن توکن‌هایی که از قبل در پاسخ تولید شده ظاهر شده‌اند را کنترل می‌کند.
مقادیر مثبت، توکن‌هایی را که از قبل در محتوای تولید شده ظاهر می‌شوند، جریمه می‌کنند و احتمال تولید محتوای متنوع‌تر را افزایش می‌دهند.
---
توالی‌های توقف
stopSequences

لیستی از رشته‌ها را مشخص می‌کند که به مدل می‌گوید در صورت مواجهه با یکی از رشته‌ها در پاسخ، تولید محتوا را متوقف کند.

فقط هنگام استفاده از پیکربندی GenerativeModel قابل اجرا است.

---
روش‌های پاسخ‌دهی
responseModalities

نوع خروجی (مانند متن، صدا یا تصویر) را مشخص می‌کند.

فقط هنگام استفاده از مدل‌های Gemini Image (مانند مدل‌های "Nano Banana") یا مدل‌های Live API قابل اجرا است.

---
گفتار (صدا)
speechConfig

صدای مورد استفاده برای خروجی صدا را مشخص می‌کند.

فقط هنگام استفاده از مدل‌های تولید صدا، مانند مدل‌های Live API ، قابل اجرا است.

Puck
ویژگی‌های تصویر
imageConfig

نسبت ابعاد و وضوح تصاویر تولید شده را مشخص می‌کند.

مقادیر پشتیبانی‌شده: به پیکربندی تولید تصویر مراجعه کنید

فقط هنگام استفاده از مدل‌های Gemini Image (مانند مدل‌های "نانو موز") قابل اجرا است.

نسبت ابعاد ۱:۱ (مربعی)
وضوح تصویر ۱۰۲۴x۱۰۲۴





گزینه‌های دیگر برای کنترل تولید محتوا

  • درباره طراحی سریع بیشتر بیاموزید تا بتوانید مدل را طوری تحت تأثیر قرار دهید که خروجی خاص نیازهای شما را تولید کند.
  • از تنظیمات ایمنی برای تنظیم احتمال دریافت پاسخ‌هایی که ممکن است مضر تلقی شوند، از جمله سخنان نفرت‌پراکن و محتوای صریح جنسی، استفاده کنید.
  • دستورالعمل‌های سیستم را برای هدایت رفتار مدل تنظیم کنید. این ویژگی مانند مقدمه‌ای است که قبل از اینکه مدل در معرض هرگونه دستورالعمل دیگری از کاربر نهایی قرار گیرد، اضافه می‌کنید.
  • یک طرحواره پاسخ را به همراه اعلان ارسال کنید تا یک طرحواره خروجی خاص مشخص شود. این ویژگی معمولاً هنگام تولید خروجی JSON استفاده می‌شود، اما می‌تواند برای وظایف طبقه‌بندی نیز مورد استفاده قرار گیرد (مانند زمانی که می‌خواهید مدل از برچسب‌ها یا تگ‌های خاصی استفاده کند).