שימוש בתצורת המודל כדי לשלוט בתשובות

בכל קריאה למודל, אפשר לשלוח הגדרת מודל כדי לשלוט באופן שבו המודל יוצר תשובה. כל מודל תומך באפשרויות הגדרה שונות, כמו הגדרת maxOutputTokens או הגדרות מיוחדות לחשיבה, לאופני תגובה, לתמונות או לדיבור.

ברוב תרחישי השימוש, כשניגשים למודל Gemini מגדירים את המודל באמצעות GenerationConfig. אבל אם אתם מגדירים מודל Gemini Live API, אתם צריכים להשתמש ב-LiveGenerationConfig.

בדף הזה מוסבר איך להגדיר את המודלים של Gemini ומופיע תיאור של כל פרמטר.

Jump to Gemini config Jump to Gemini Live API config

‫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") או למודלים של המרת טקסט לדיבור (TTS).

---
הגדרות מיוחדות
חושב
thinkingConfig

קובעת את 'תהליך החשיבה' של המודלים כשהם יוצרים תשובה.

  • אתם יכולים לשלוט בכמות החשיבה שהמודל יכול לבצע באמצעות רמת חשיבה.
  • להחליט אם לכלול סיכומי מחשבות.

ערכים נתמכים: ראו את המסמכים בנושא חשיבה

לא רלוונטי למודלים של TTS.

ב-Firebase AI Logic עדיין אי אפשר להגדיר thinkingConfig למודלים של Live API.

תלוי במודל
אופני תגובה
responseModalities
מציין את סוג הפלט (כמו טקסט, אודיו או תמונות). רלוונטי (ונדרש) רק כשמשתמשים ב- Gemini מודלים של תמונות (מודלים של Nano Banana), מודלים של TTS ומודלים של Live API. ---
מאפייני התמונה
imageConfig
מציין את יחס הגובה-רוחב והרזולוציה של התמונות שנוצרות.

ערכים נתמכים: ראו הגדרה של יצירת תמונות

ההגדרה רלוונטית רק כשמשתמשים בGeminiמודלים של תמונות (מודלים של Nano Banana).

יחס גובה-רוחב של 1:1 (ריבוע)
רזולוציה של 1024x1024
דיבור (קול)
speechConfig
מציינים את הקול שמשמש לפלט האודיו. רלוונטי רק כשמשתמשים במודלים של המרת טקסט לדיבור (TTS) ובמודלים של Live API.

נדרש למודלים של TTS.
Puck



אפשרויות אחרות לשליטה ביצירת תוכן

  • מידע נוסף על עיצוב הנחיה כדי להשפיע על המודל ליצור פלט שמתאים לצרכים שלכם.
  • אפשר להשתמש בהגדרות הבטיחות כדי לשנות את הסיכוי לקבל תשובות שעלולות להיחשב כמזיקות, כולל דברי שטנה ותוכן מיני בוטה.
  • להגדיר הוראות מערכת כדי לכוון את ההתנהגות של המודל. התכונה הזו היא כמו הקדמה שמוסיפים לפני שהמודל נחשף להוראות נוספות ממשתמש הקצה.
  • מעבירים סכימת תגובה יחד עם הפרומפט כדי לציין סכימת פלט ספציפית. התכונה הזו משמשת בעיקר כשיוצרים פלט JSON, אבל אפשר להשתמש בה גם למשימות סיווג (למשל, כשרוצים שהמודל ישתמש בתוויות או בתגים ספציפיים).