Paramètres de génération de contenu

Cette page présente les paramètres d'échantillonnage facultatifs que vous pouvez définir dans une requête adressée à un modèle. Les paramètres disponibles pour chaque modèle peuvent varier. Pour en savoir plus, consultez la documentation de référence.

Paramètres d'échantillonnage des jetons

Top-P

Top-P modifie la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés de la probabilité la plus élevée à la probabilité la plus faible jusqu'à ce que la somme de leurs probabilités soit égale à la valeur top-P. Par exemple, si les jetons A, B et C ont une probabilité de 0,3, 0,2 et 0,1 et que la valeur de top-P est supérieure à 0.5, le modèle sélectionne A ou B comme jeton suivant en utilisant la température et exclut C comme candidat.

Spécifiez une valeur inférieure pour les réponses moins aléatoires et une valeur plus élevée pour les réponses plus aléatoires.

Pour en savoir plus, consultez la page topP.

Température

La température est utilisée pour l'échantillonnage pendant la génération des réponses, qui se produit lorsque topP et topK sont appliqués. La température permet de contrôler le degré de hasard dans la sélection des jetons. Les températures inférieures sont idéales pour les requêtes qui nécessitent une réponse moins ouverte ou créative, tandis que des températures plus élevées peuvent conduire à des résultats plus diversifiés ou créatifs. Une température de 0 signifie que les jetons de probabilité les plus élevés sont toujours sélectionnés. Dans ce cas, les réponses pour une requête donnée sont principalement déterministes, mais une petite quantité de variation est toujours possible.

Si le modèle renvoie une réponse trop générique ou trop courte, ou s'il renvoie une réponse de remplacement, essayez d'augmenter la température.

Les températures basses entraînent des résultats prévisibles (mais pas complètement déterministes). Pour en savoir plus, consultez temperature.

Paramètres d'arrêt

Nombre maximal de jetons de sortie

Définissez maxOutputTokens pour limiter le nombre de jetons générés dans la réponse. Un jeton correspond à environ quatre caractères. 100 jetons correspondent donc à environ 60 à 80 mots. Définissez une valeur faible pour limiter la longueur de la réponse.

Séquences d'arrêt

Définissez des chaînes dans stopSequences pour indiquer au modèle d'arrêter de générer du texte si l'une des chaînes est détectée dans la réponse. Si une chaîne apparaît plusieurs fois dans la réponse, celle-ci est tronquée lors de la première rencontre. Les chaînes sont sensibles à la casse.

Paramètres de pénalisation des jetons

Pénalité de fréquence

Les valeurs positives pénalisent les jetons qui apparaissent de manière répétée dans le texte généré, ce qui réduit la probabilité de répétition du contenu. La valeur minimale est -2.0. La valeur maximale est inférieure à 2.0. Pour en savoir plus, consultez la section consacrée à frequencyPenalty.

Pénalité de présence

Les valeurs positives pénalisent les jetons qui apparaissent déjà dans le texte généré, ce qui augmente la probabilité de générer un contenu plus diversifié. La valeur minimale est -2.0. La valeur maximale est inférieure à 2.0. Pour en savoir plus, consultez la section consacrée à presencePenalty.

Paramètres avancés

Utilisez ces paramètres pour renvoyer plus d'informations sur les jetons dans la réponse ou pour contrôler la variabilité de la réponse.

Probabilités logarithmiques des jetons de sortie

Renvoie les probabilités logarithmiques des jetons de meilleurs candidats à chaque étape de génération. Il est possible que le jeton choisi par le modèle ne soit pas le jeton du meilleur candidat à chaque étape. Spécifiez le nombre de candidats à renvoyer à l'aide d'une valeur entière comprise entre 1 et 20. Pour en savoir plus, consultez logprobs. Vous devez également définir le paramètre responseLogprobs sur true pour utiliser cette fonctionnalité.

Le paramètre responseLogprobs renvoie les probabilités logarithmiques des jetons choisis par le modèle à chaque étape.

Pour en savoir plus, consultez le notebook Introduction to Logprobs (Présentation des logprobs).

Graine

Lorsque la graine est fixée à une valeur spécifique, le modèle s'efforce de fournir la même réponse pour les requêtes répétées. La sortie déterministe n'est pas garantie. De plus, la modification du modèle ou des paramètres, comme la température, peut entraîner des variations dans la réponse, même si vous utilisez la même valeur de graine. Par défaut, une valeur de graine aléatoire est utilisée. Pour en savoir plus, consultez la page seed.

Exemple

Voici un exemple qui utilise des paramètres pour ajuster la réponse d'un modèle.

Python

Installer

pip install --upgrade google-genai

Pour en savoir plus, lisez la documentation de référence du SDK.

Définissez les variables d'environnement pour utiliser le SDK Gen AI avec 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

Découvrez comment installer ou mettre à jour le Go.

Pour en savoir plus, lisez la documentation de référence du SDK.

Définissez les variables d'environnement pour utiliser le SDK Gen AI avec 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
}

Étapes suivantes