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

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

אפשר גם להתנסות בהנחיות ובהגדרות של מודלים באמצעות 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
ההגדרה הזו קובעת את ההסתברות להכללת טוקנים שמופיעים שוב ושוב בתשובה שנוצרת.
ערכים חיוביים מענישים טוקנים שמופיעים שוב ושוב בתוכן שנוצר, ומקטינים את ההסתברות לחזרה על תוכן.
---
Max output tokens
maxOutputTokens
מציין את המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. ---
קנס על נוכחות
presencePenalty
שליטה בהסתברות להכללת טוקנים שכבר מופיעים בתשובה שנוצרה.
ערכים חיוביים מענישים טוקנים שכבר מופיעים בתוכן שנוצר, ומגדילים את ההסתברות ליצירת תוכן מגוון יותר.
---
הפסקת רצפים
stopSequences

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

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

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

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

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

---
דיבור (קול)
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
היחס בין הרוחב לגובה של תמונות שנוצרו על ידי AI ברירת המחדל היא ריבוע (1:1)
פורמט התמונה
imageFormat
אפשרויות הפלט, כמו פורמט התמונה (סוג MIME) ורמת הדחיסה של התמונות שנוצרו סוג ה-MIME שמוגדר כברירת מחדל הוא PNG
הדחיסה שמוגדרת כברירת מחדל היא 75 (אם סוג ה-MIME מוגדר כ-JPEG)
Watermark
addWatermark
האם להוסיף סימן מים דיגיטלי לא נראה (שנקרא SynthID) לתמונות שנוצרו ברירת המחדל היא true עבור מודלים של Imagen 3
יצירת תמונות של אנשים
personGeneration
האם לאפשר למודל ליצור תמונות של אנשים ברירת המחדל תלויה במודל



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

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