בכל קריאה למודל, אתם יכולים לשלוח הגדרות אישיות כדי לקבוע איך המודל ייצור את התשובה. כל מודל תומך באפשרויות הגדרה שונות, כמו הגדרת maxOutputTokens או הגדרות מיוחדות לחשיבה, למצבי תגובה, לתמונות, לדיבור או לזיהוי דיבור (VAD).
ברוב תרחישי השימוש, כשניגשים למודל 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 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.
// 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 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.
// 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.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.
// 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 Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.googleAI().generativeModel(
model: 'GEMINI_MODEL_NAME',
generationConfig: 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 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
);
LiveGenerationConfig למודלים של Gemini Live API
|
כדי לראות תוכן וקוד שספציפיים לספק, לוחצים על הספק Gemini API בדף הזה. |
צריך להגדיר LiveGenerationConfig רק כשמשתמשים במודלים של Gemini Live API.
ההגדרות נשמרות לאורך כל חיי המכונה של LiveModel. כדי להשתמש בהגדרות אישיות אחרות, צריך ליצור מופע חדש עם הגדרות אישיות אחרות ולהשתמש בו.
בדוגמה הבאה מוצגת הגדרה בסיסית מאוד של מודל. לאפשרויות נוספות (כמו הגדרת זיהוי דיבור (VAD)), עיינו בטבלה של הפרמטרים הזמינים בהמשך הדף.
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: .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 = Voice("FENRIR"))
}
// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).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.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,
);
// ...
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.GoogleAI()).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig: config
);
// ...
הפרמטרים הזמינים של המודל
בטבלה הבאה מופיעה סקירה כללית של הפרמטרים שאפשר להגדיר במודל. חלק מהפרמטרים רלוונטיים רק למודלים מסוימים.
| פרמטר | תיאור | מגבלות | ערך ברירת מחדל |
|---|---|---|---|
חותמת זמן של האודיוaudioTimestamp
|
מאפשרת להבין את חותמות הזמן בקובצי קלט של אודיו בלבד. |
בוליאני
רלוונטי רק כשמשתמשים בהגדרת |
false
|
מספר מקסימלי של טוקנים בפלטmaxOutputTokens
|
מציין את המספר המקסימלי של טוקנים שאפשר ליצור בתשובה.
ב- |
--- | --- |
רצפים של עצירותstopSequences
|
רשימה של מחרוזות שאומרות למודל להפסיק ליצור תוכן אם אחת מהמחרוזות מופיעה בתשובה. |
רלוונטי רק כשמשתמשים בהגדרות אישיות של לא רלוונטי למודלים של Nano Banana או TTS. |
--- |
| הגדרות מיוחדות | |||
בתהליך חשיבהthinkingConfig
|
הפרמטר הזה שולט ב"תהליך החשיבה" של המודלים כשהם יוצרים תשובה.
|
ערכים נתמכים: ראו את המסמכים בנושא חשיבה לא רלוונטי למודלים של המרת טקסט לדיבור.
ב-Firebase AI Logic עדיין אי אפשר להגדיר |
תלוי במודל |
אופני התגובהresponseModalities
|
מציין את סוג הפלט (כמו טקסט, אודיו או תמונות). | רלוונטי (וחובה) רק כשמשתמשים במודלים של Nano Banana, TTS ו-Live API. | --- |
מאפייני התמונהimageConfig
|
מציינת את יחס הגובה-רוחב ואת הרזולוציה של התמונות שנוצרות. |
ערכים נתמכים: ראו הגדרת יצירת תמונות רלוונטי רק כשמשתמשים במודלים של Nano Banana. |
יחס גובה-רוחב של 1:1 (ריבוע) רזולוציה של 1024x1024 |
דיבור (קול)speechConfig
|
מציין את הקול שבו נעשה שימוש בפלט האודיו. |
רלוונטי רק כשמשתמשים במודלים של המרת טקסט לדיבור (TTS) ובמודלים של Live API. נדרש למודלים של TTS. |
Puck
|
זיהוי דיבור (VAD)realtimeInputConfig
|
מגדירה את זיהוי הדיבור (VAD), את הטיפול בהפרעות ואת הכיסוי של ההקשר של התור, או משביתה את ה-VAD האוטומטי. |
ערכים נתמכים: ראו הגדרת VAD רלוונטי רק כשמשתמשים במודלים של Live API. |
VAD מופעל |
אפשרויות אחרות לשליטה ביצירת תוכן
- מידע נוסף על עיצוב הנחיות כדי להשפיע על המודל ליצור פלט שמתאים לצרכים הספציפיים שלכם.
- אתם יכולים להשתמש בהגדרות הבטיחות כדי לשנות את הסבירות לקבלת תשובות שעלולות להיחשב כמזיקות, כולל דברי שטנה ותוכן מיני בוטה.
- להגדיר הוראות מערכת כדי לכוון את ההתנהגות של המודל. התכונה הזו היא כמו הוראות מקדימות שמוסיפים לפני שהמודל נחשף להוראות נוספות ממשתמש הקצה.
- מעבירים סכֵימת תשובה יחד עם ההנחיה כדי לציין סכֵימת פלט ספציפית. התכונה הזו משמשת בעיקר כשרוצים ליצור פלט בפורמט JSON, אבל אפשר להשתמש בה גם למשימות סיווג (למשל, כשרוצים שהמודל ישתמש בתוויות או בתגים ספציפיים).