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

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

אפשר גם להתנסות בהנחיות ובהגדרות של מודלים באמצעות Google AI Studio.

מעבר לאפשרויות ההגדרה של Gemini מעבר לאפשרויות ההגדרה של Imagen



הגדרת מודלים של Gemini

לוחצים על ספק Gemini API כדי להציג בדף הזה תוכן וקוד ספציפיים לספק.

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

הגדרת הגדרות מודל (Gemini)

הגדרות לתרחישים לדוגמה כלליים

ההגדרה נשמרת לכל משך החיים של המכונה. אם רוצים להשתמש בתצורה אחרת, יוצרים מכונה חדשה של GenerativeModel עם התצורה הזו.

Swift

מגדירים את ערכי הפרמטרים ב-GenerationConfig כחלק מיצירת מכונה של GenerativeModel.


import FirebaseAI

// Set parameter values in a `GenerationConfig` (example values shown here)
let config = GenerationConfig(
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
  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` (example values shown here)
val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

// 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` (example values shown here)
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;

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` (example values shown here)
const generationConfig = {
  max_output_tokens: 200,
  stop_sequences: ["red"],
  temperature: 0.9,
  top_p: 0.1,
  top_k: 16,
};

// 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` (example values shown here)
final generationConfig = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"],
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);

// 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,
);

// ...

Unity

מגדירים את ערכי הפרמטרים ב-GenerationConfig כחלק מיצירת מכונה של GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
var generationConfig = new GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" },
  temperature: 0.9f,
  topK: 16,
  topP: 0.1f
);

// 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
);

תיאור של כל פרמטר מופיע בקטע הבא בדף הזה.

הגדרה של Gemini Live API

תיאור הפרמטרים (Gemini)

ריכזנו כאן סקירה כללית על הפרמטרים הזמינים, לפי הצורך. רשימת פרמטרים מקיפה עם הערכים שלהם זמינה במסמכי העזרה של Gemini Developer API.

פרמטר תיאור ערך ברירת מחדל
חותמת זמן של אודיו
audioTimestamp

ערך בוליאני שמאפשר הבנה של חותמות זמן בקובצי קלט של אודיו בלבד.

האפשרות הזו רלוונטית רק כשמשתמשים בשיחות generateContent או generateContentStream וסוג הקלט הוא קובץ אודיו בלבד.

false
קנס על תדירות
frequencyPenalty
קובעת את הסבירות לכלול אסימונים שמופיעים שוב ושוב בתשובה שנוצרת.
ערכים חיוביים מפעילים סנקציה על אסימונים שמופיעים שוב ושוב בתוכן שנוצר, וכך מפחיתים את הסבירות לתוכן חוזר.
---
מספר האסימונים המקסימלי להוצאה
maxOutputTokens
מציין את המספר המקסימלי של האסימונים שניתן ליצור בתגובה. ---
קנס על נוכחות
presencePenalty
קובע את הסבירות לכלול אסימונים שכבר מופיעים בתגובה שנוצרה.
ערכים חיוביים מפעילים סנקציה על אסימונים שכבר מופיעים בתוכן שנוצר, וכך מגדילים את הסבירות ליצירת תוכן מגוון יותר.
---
עצירת רצפים
stopSequences

מציין רשימה של מחרוזות שמורות למקרה שהמודל נתקל באחת מהן בתשובה, כדי להורות לו להפסיק ליצור תוכן.

רלוונטי רק כשמשתמשים בהגדרה של GenerativeModel.

---
טמפרטורה
temperature
קובעת את מידת האקראיות בתשובה.
טמפרטורות נמוכות יותר מניבות תשובות גורליות יותר, וטמפרטורות גבוהות יותר מניבות תשובות מגוונות או יצירתיות יותר.
תלוי במודל
Top-K
topK
הגבלת מספר המילים עם הסבירות הגבוהה ביותר שנעשה בהן שימוש בתוכן שנוצר.
כשהערך של top-K הוא 1, האסימון הבא שנבחר צריך להיות האסימון עם ההסתברות הגבוהה ביותר מבין כל האסימונים במילון של המודל. כשהערך של top-K הוא n, האסימון הבא שנבחר צריך להיות מתוך n האסימונים עם ההסתברות הגבוהה ביותר (הכול בהתאם לטמפרטורה שהוגדרה).
תלוי במודל
Top-P
topP
קובעת את המגוון של התוכן שנוצר.
האסימונים נבחרים מהסיכוי הגבוה ביותר (ראו 'ה-K המובילים' למעלה) עד לסיכוי הנמוך ביותר, עד שסכום הסבירויות שלהם שווה לערך top-P.
תלוי במודל
Response modality
responseModality

מציין את סוג הפלט בסטרימינג כשמשתמשים ב-Live API, למשל טקסט או אודיו.

רלוונטי רק כשמשתמשים ב-Live API ובהגדרה של LiveModel.

---
דיבור (קול)
speechConfig

מציין את הקול שמשמש לפלט האודיו בסטרימינג כשמשתמשים ב-Live API.

רלוונטי רק כשמשתמשים ב-Live API ובהגדרה של LiveModel.

Puck



הגדרת מודלים של Imagen

לוחצים על ספק Imagen API כדי להציג בדף הזה תוכן וקוד ספציפיים לספק.

בקטע הזה מוסבר איך להגדיר תצורה לשימוש במודלים של Imagen, ומתוארים כל הפרמטרים.

הגדרת הגדרות מודל (Imagen)

ההגדרה נשמרת לכל משך החיים של המכונה. אם רוצים להשתמש בתצורה אחרת, יוצרים מכונה חדשה של ImagenModel עם התצורה הזו.

Swift

מגדירים את ערכי הפרמטרים ב-ImagenGenerationConfig כחלק מיצירת מכונה של ImagenModel.


import FirebaseAI

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
let config = ImagenGenerationConfig(
  negativePrompt: "frogs",
  numberOfImages: 2,
  aspectRatio: .landscape16x9,
  imageFormat: .jpeg(compressionQuality: 100),
  addWatermark: false
)

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).imagenModel(
  modelName: "IMAGEN_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

מגדירים את ערכי הפרמטרים ב-ImagenGenerationConfig כחלק מיצירת מכונה של ImagenModel.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
val config = ImagenGenerationConfig {
    negativePrompt = "frogs",
    numberOfImages = 2,
    aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
    imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
    addWatermark = false
}

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
    modelName = "IMAGEN_MODEL_NAME",
    generationConfig = config
)

// ...

Java

מגדירים את ערכי הפרמטרים ב-ImagenGenerationConfig כחלק מיצירת מכונה של ImagenModel.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
    .setNegativePrompt("frogs")
    .setNumberOfImages(2)
    .setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
    .setImageFormat(ImagenImageFormat.jpeg(100))
    .setAddWatermark(false)
    .build();

// Specify the config as part of creating the `ImagenModel` instance
ImagenModelFutures model = ImagenModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .imagenModel(
                    "IMAGEN_MODEL_NAME",
                    config
                );
);

// ...

Web

מגדירים את ערכי הפרמטרים ב-ImagenGenerationConfig כחלק מיצירת מכונה של ImagenModel.


// ...

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

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
const generationConfig = {
  negativePrompt: "frogs",
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.LANDSCAPE_16x9,
  imageFormat: ImagenImageFormat.jpeg(100),
  addWatermark: false
};

// Specify the config as part of creating the `ImagenModel` instance
const model = getImagenModel(ai, { model: "IMAGEN_MODEL_NAME", generationConfig });

// ...

Dart

מגדירים את ערכי הפרמטרים ב-ImagenGenerationConfig כחלק מיצירת מכונה של ImagenModel.


// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
final generationConfig = ImagenGenerationConfig(
  negativePrompt: 'frogs',
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.landscape16x9,
  imageFormat: ImagenImageFormat.jpeg(compressionQuality: 100)
  addWatermark: false
);

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

// ...

Unity

עדיין אין תמיכה ב-Imagen ב-Unity, אבל כדאי לבדוק שוב בקרוב.

תיאור של כל פרמטר מופיע בקטע הבא בדף הזה.

תיאור הפרמטרים (Imagen)

ריכזנו כאן סקירה כללית על הפרמטרים הזמינים, לפי הצורך. רשימת פרמטרים מקיפה עם הערכים שלהם זמינה במסמכי העזרה של Google Cloud.

פרמטר תיאור ערך ברירת מחדל
הנחיה שלילית
negativePrompt
תיאור של מה שרוצים להשמיט מהתמונות שנוצרות

הפרמטר הזה עדיין לא נתמך על ידי imagen-3.0-generate-002.

---
מספר התוצאות
numberOfImages
מספר התמונות שנוצרו שהוחזרו לכל בקשה ברירת המחדל היא תמונה אחת במודלים מסוג Imagen 3
יחס גובה-רוחב
aspectRatio
היחס בין הרוחב לגובה של התמונות שנוצרו ברירת המחדל היא ריבוע (1:1)
פורמט התמונה
imageFormat
אפשרויות הפלט, כמו פורמט התמונה (סוג ה-MIME) ורמת הדחיסה של התמונות שנוצרות סוג ה-MIME שמוגדר כברירת מחדל הוא PNG
דחיסת ברירת המחדל היא 75 (אם סוג ה-MIME מוגדר כ-JPEG)
סימן מים
addWatermark
האם להוסיף סימן מים דיגיטלי בלתי נראה (שנקרא SynthID) לתמונות שנוצרו ברירת המחדל היא true במודלים מסוג Imagen 3
יצירת אנשים
personGeneration
האם לאפשר ליצירת אנשים על ידי המודל ברירת המחדל תלויה במודל



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

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