Parametri di generazione dei contenuti

Questa pagina mostra i parametri di campionamento facoltativi che puoi impostare in una richiesta a un modello. I parametri disponibili per ogni modello possono variare. Per saperne di più, consulta la documentazione di riferimento.

Parametri di campionamento dei token

Top-P

Top-P cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile al meno probabile finché la somma delle loro probabilità non corrisponde al valore di Top-P. Ad esempio, se i token A, B e C hanno una probabilità di 0,3, 0,2 e 0,1 e il valore di top-P è 0.5, il modello seleziona A o B come token successivo utilizzando la temperatura ed esclude C come candidato.

Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.

Per ulteriori informazioni, vedi topP.

Temperatura

La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando vengono applicati topP e topK. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature basse sono ideali per prompt che richiedono risposte meno aperte o creative, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a 0 indica che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte a un determinato prompt sono per lo più deterministiche, ma è comunque possibile una piccola variazione.

Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura.

Le temperature più basse portano a risultati prevedibili (ma non completamente deterministici). Per ulteriori informazioni, vedi temperature.

Parametri di interruzione

Numero massimo di token di output

Imposta maxOutputTokens per limitare il numero di token generati nella risposta. Un token equivale a circa quattro caratteri, quindi 100 token corrispondono a circa 60-80 parole. Imposta un valore basso per limitare la lunghezza della risposta.

Sequenze di interruzioni

Definisci le stringhe in stopSequences per indicare al modello di interrompere la generazione di testo se una delle stringhe viene rilevata nella risposta. Se una stringa viene visualizzata più volte nella risposta, la risposta viene troncata nel punto in cui viene rilevata la stringa per la prima volta. Le stringhe sono sensibili alle maiuscole.

Parametri di penalizzazione dei token

Penalità per frequenza

I valori positivi penalizzano i token che compaiono ripetutamente nel testo generato, diminuendo la probabilità di ripetere i contenuti. Il valore minimo è -2.0. Il valore massimo è fino a 2.0 escluso. Per ulteriori informazioni, vedi frequencyPenalty.

Penale per mancata presenza

I valori positivi penalizzano i token che sono già presenti nel testo generato, aumentando la probabilità di generare contenuti più diversi. Il valore minimo è -2.0. Il valore massimo è fino a 2.0, escluso. Per ulteriori informazioni, vedi presencePenalty.

Parametri avanzati

Utilizza questi parametri per restituire maggiori informazioni sui token nella risposta o per controllare la variabilità della risposta.

Probabilità logaritmiche dei token di output

Restituisce le probabilità logaritmiche dei token candidati migliori in ogni fase di generazione. Il token scelto dal modello potrebbe non corrispondere al token candidato principale in ogni passaggio. Specifica il numero di candidati da restituire utilizzando un valore intero compreso tra 1 e 20. Per ulteriori informazioni, vedi logprobs. Per utilizzare questa funzionalità, devi anche impostare il parametro responseLogprobs su true.

Il parametro responseLogprobs restituisce le probabilità logaritmiche dei token scelti dal modello in ogni passaggio.

Per ulteriori informazioni, consulta il notebook Intro to Logprobs.

Seed

Quando il seed è impostato su un valore specifico, il modello fa del suo meglio per fornire la stessa risposta per le richieste ripetute. L'output deterministico non è garantito. Inoltre, la modifica del modello o delle impostazioni dei parametri, ad esempio la temperatura, può causare variazioni nella risposta anche se utilizzi lo stesso valore seed. Per impostazione predefinita, viene utilizzato un valore di inizializzazione casuale. Per ulteriori informazioni, vedi seed.

Esempio

Ecco un esempio che utilizza i parametri per ottimizzare la risposta di un modello.

Python

Installa

pip install --upgrade google-genai

Per saperne di più, consulta la documentazione di riferimento dell'SDK.

Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con 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

Scopri come installare o aggiornare Go.

Per saperne di più, consulta la documentazione di riferimento dell'SDK.

Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con 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.0-flash-001"
	contents := genai.Text("Why is the sky blue?")
	// See the documentation: https://googleapis.github.io/python-genai/genai.html#genai.types.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
}

Passaggi successivi