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

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

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

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

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.

קנס על נוכחות

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

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

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

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

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

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

מידע נוסף זמין במחברת Intro to Logprobs.

ערך הבסיס

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

דוגמה

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

Python

התקנה

pip install --upgrade google-genai

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

מגדירים משתני סביבה כדי להשתמש ב-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_VERTEXAI=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-2.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.

מגדירים משתני סביבה כדי להשתמש ב-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_VERTEXAI=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.

מגדירים משתני סביבה כדי להשתמש ב-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_VERTEXAI=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.

מגדירים משתני סביבה כדי להשתמש ב-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_VERTEXAI=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();
    }
  }
}

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