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

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

פרמטרים של דגימת אסימונים

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

Top-K

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

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

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

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

Top-P

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

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

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

טמפרטורה

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

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

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

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

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

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

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

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

הפסקת רצפים

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

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

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

קנס על תדירות

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

קנס על נוכחות

ערכים חיוביים מענישים טוקנים שכבר מופיעים בטקסט שנוצר, ומגדילים את הסיכוי ליצירת תוכן מגוון יותר. הערך המינימלי הוא -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. מידע נוסף זמין במאמר 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();
    }
  }
}

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