פרמטרים ליצירת תוכן

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

פרמטרים לדגימת טוקנים

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

Top-K

הערך של Top-K משנה את האופן שבו המודל בוחר אסימונים לפלט. אם ערך ה-Top-K הוא 1, הטוקן הבא שייבחר הוא הטוקן עם ההסתברות הגבוהה ביותר מבין כל הטוקנים באוצר המילים של המודל (נקרא גם פענוח חמדני). אם ערך ה-Top-K הוא 3, הטוקן הבא ייבחר מבין שלושת הטוקנים עם ההסתברות הגבוהה ביותר באמצעות טמפרטורה.

בכל שלב של בחירת אסימון, נדגמים האסימונים עם ההסתברויות הגבוהות ביותר ב-Top-K. לאחר מכן, האסימונים מסוננים עוד יותר על סמך top-P, והאסימון הסופי נבחר באמצעות דגימת טמפרטורה.

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

ב-Gemini 3.5 Flash, הערך של topK קבוע על 64 ואי אפשר לשנות אותו.

מידע נוסף זמין במאמר topK.

Top-P

הערך של Top-P משנה את האופן שבו המודל בוחר טוקנים לפלט. הטוקנים נבחרים מהסבירות הגבוהה ביותר לסבירות הנמוכה ביותר, עד שסכום ההסתברויות שלהם שווה לערך של Top-P. לדוגמה, אם לאסימונים א', ב' וג' יש הסתברות של 0.3, 0.2 ו-0.1, והערך של top-P הוא 0.5, המודל יבחר את א' או את ב' כאסימון הבא באמצעות הטמפרטורה, ולא יכלול את ג' כמועמד.

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

מידע נוסף זמין במאמר topP.

טמפרטורה

הטמפרטורה משמשת לדגימה במהלך יצירת התשובה, שמתרחשת כשמחילים את topP ו-topK. הטמפרטורה שולטת במידת האקראיות בבחירת האסימון. טמפרטורות נמוכות טובות להנחיות שדורשות תשובה פחות פתוחה או יצירתית, ואילו טמפרטורות גבוהות יכולות להוביל לתוצאות יותר מגוונות או יצירתיות. כשהטמפרטורה היא 0, תמיד נבחרים האסימונים עם ההסתברות הכי גבוהה. במקרה כזה, התשובות להנחיה מסוימת הן בעיקר דטרמיניסטיות, אבל עדיין יכול להיות שינוי קל.

אם המודל מחזיר תשובה כללית מדי, קצרה מדי או תשובה חלופית, נסו להגדיל את הטמפרטורה. אם המודל נכנס ליצירה אינסופית, הגדלת הטמפרטורה ל-0.1 לפחות עשויה להוביל לתוצאות משופרות.

‫1.0 הוא הערך ההתחלתי המומלץ לטמפרטורה.

טמפרטורות נמוכות מובילות לתוצאות צפויות (אבל לא דטרמיניסטיות לחלוטין). מידע נוסף זמין במאמר temperature.

פרמטרים של עצירה

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

מספר מקסימלי של טוקנים בפלט

מגדירים את maxOutputTokens כדי להגביל את מספר האסימונים שנוצרים בתשובה. טוקן הוא בערך ארבעה תווים, אז 100 טוקנים הם בערך 60-80 מילים. כדי להגביל את אורך התשובה, מגדירים ערך נמוך.

הפסקת הרצפים

מגדירים מחרוזות ב-stopSequences כדי להורות למודל להפסיק ליצור טקסט דינמי מבוסס-AI אם אחת מהמחרוזות מופיעה בתשובה. אם מחרוזת מופיעה כמה פעמים בתשובה, התשובה נחתכת במקום שבו המחרוזת מופיעה בפעם הראשונה. המחרוזות תלויות אותיות רישיות (case-sensitive).

פרמטרים של ענישה על טוקנים

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

קנס על תדירות

ערכים חיוביים מענישים טוקנים שמופיעים שוב ושוב בטקסט דינמי מבוסס-AI, ומפחיתים את הסבירות לחזרה על התוכן. הערך המינימלי הוא -2.0. הערך המקסימלי הוא עד 2.0, לא כולל. מידע נוסף זמין בקטע frequencyPenalty במאמרי העזרה של GenerationConfig.

קנס על נוכחות

ערכים חיוביים מענישים טוקנים שכבר מופיעים בטקסט דינמי מבוסס-AI, וכך מגדילים את הסבירות ליצירת תוכן מגוון יותר. הערך המינימלי הוא -2.0. הערך המקסימלי הוא עד 2.0, לא כולל. מידע נוסף זמין בקטע presencePenalty במאמרי העזרה של GenerationConfig.

פרמטרים של פורמט התשובה

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

סוג MIME של התשובה

מגדירים את responseMimeType כדי לציין את סוג ה-MIME של התשובה שנוצרה. הערכים הנתמכים כוללים:

  • ‫text/plain (ברירת המחדל): פלט של טקסט פשוט.
  • ‫application/json: תגובת JSON במועמדים.
  • ‫text/x.enum: במשימות סיווג, פלט של ערך טיפוסים בני מנייה (enum) כמו שמוגדר בסכֵימת התשובה.

כדי למנוע התנהגויות לא מכוונות, צריך לציין את סוג התגובה המתאים. לדוגמה, אם אתם צריכים תשובה בפורמט JSON, ציינו application/json ולא text/plain.

מידע נוסף זמין במאמרים responseMimeType ופלט מובנה.

פרמטרים מתקדמים

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

מספר המועמדים

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

האפשרות לציין כמה מועמדים היא תכונה בגרסת טרום-השקה (Preview) שפועלת עם generateContent (אין תמיכה ב-streamGenerateContent).

מידע נוסף זמין במאמר candidateCount.

מקור

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

דוגמה

הנה דוגמה לשימוש בפרמטרים כדי לכוונן את התשובה של המודל.

Python

התקנה

pip install --upgrade google-genai

מידע נוסף זמין ב מאמרי העזרה של ה-SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

from google import genai
from google.genai.types import GenerateContentConfig, HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="Why is the sky blue?",
    # See the SDK documentation at
    # https://googleapis.github.io/python-genai/genai.html#genai.types.GenerateContentConfig
    config=GenerateContentConfig(
        temperature=0,
        candidate_count=1,
        response_mime_type="application/json",
        top_p=0.95,
        top_k=20,
        seed=5,
        max_output_tokens=500,
        stop_sequences=["STOP!"],
        presence_penalty=0.0,
        frequency_penalty=0.0,
    ),
)
print(response.text)
# Example response:
# {
#   "explanation": "The sky appears blue due to a phenomenon called Rayleigh scattering. When ...
# }

Go

איך מתקינים או מעדכנים את Go

מידע נוסף זמין ב מאמרי העזרה של ה-SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateWithConfig shows how to generate text using a text prompt and custom configuration.
func generateWithConfig(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.5-flash"
	contents := genai.Text("Why is the sky blue?")
	// See the documentation: https://pkg.go.dev/google.golang.org/genai#GenerateContentConfig
	config := &genai.GenerateContentConfig{
		Temperature:      genai.Ptr(float32(0.0)),
		CandidateCount:   int32(1),
		ResponseMIMEType: "application/json",
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, config)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)
	// Example response:
	// {
	//   "explanation": "The sky is blue due to a phenomenon called Rayleigh scattering ...
	// }

	return nil
}

Node.js

התקנה

npm install @google/genai

מידע נוסף זמין ב מאמרי העזרה של ה-SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

const {GoogleGenAI} = require('@google/genai');

const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';

async function generateContent(
  projectId = GOOGLE_CLOUD_PROJECT,
  location = GOOGLE_CLOUD_LOCATION
) {
  const client = new GoogleGenAI({
    vertexai: true,
    project: projectId,
    location: location,
  });

  const config = {
    temperature: 0,
    candidateCount: 1,
    responseMimeType: 'application/json',
    topP: 0.95,
    topK: 20,
    seed: 5,
    maxOutputTokens: 500,
    stopSequences: ['STOP!'],
    presencePenalty: 0.0,
    frequencyPenalty: 0.0,
  };

  const response = await client.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: 'Why is the sky blue?',
    config: config,
  });

  console.log(response.text);

  // Example response:
  // {
  //   "explanation": "The sky appears blue due to a phenomenon called Rayleigh scattering. When ...
  // }

  return response.text;
}

Java

איך מתקינים או מעדכנים את Java

מידע נוסף זמין ב מאמרי העזרה של ה-SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True


import com.google.genai.Client;
import com.google.genai.types.GenerateContentConfig;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;

public class TextGenerationConfigWithText {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    generateContent(modelId);
  }

  // Generates text with text input and optional configurations
  public static String generateContent(String modelId) {
    // Client Initialization. Once created, it can be reused for multiple requests.
    try (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      // Set optional configuration parameters
      GenerateContentConfig contentConfig =
          GenerateContentConfig.builder()
              .temperature(0.0F)
              .candidateCount(1)
              .responseMimeType("application/json")
              .topP(0.95F)
              .topK(20F)
              .seed(5)
              .maxOutputTokens(500)
              .stopSequences("STOP!")
              .presencePenalty(0.0F)
              .frequencyPenalty(0.0F)
              .build();

      // Generate content using optional configuration
      GenerateContentResponse response =
          client.models.generateContent(modelId, "Why is the sky blue?", contentConfig);

      System.out.print(response.text());
      // Example response:
      // {
      //  "explanation": "The sky appears blue due to a phenomenon called Rayleigh scattering.
      // Sunlight, which appears white, is actually composed of all the colors of the rainbow...
      // }
      return response.text();
    }
  }
}

המאמרים הבאים