Parámetros de generación de contenido

En esta página, se muestran los parámetros de muestreo opcionales que puedes configurar en una solicitud a un modelo. Los parámetros disponibles para cada modelo pueden variar. Para obtener más información, consulta la documentación de referencia.

Parámetros de muestreo de tokens

Top-P

Top-P cambia la manera en la que el modelo selecciona los tokens para el resultado. Los tokens se seleccionan del más probable al menos probable hasta que la suma de sus probabilidades sea igual al valor de Top-P. Por ejemplo, si los tokens A, B y C tienen una probabilidad de 0.3, 0.2 y 0.1, y el valor P superior es 0.5, el modelo elegirá A o B como el siguiente token mediante la temperatura y excluirá a C como candidato.

Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias.

Para obtener más información, consulta topP.

Temperatura

La temperatura se usa para las muestras durante la generación de respuesta, que se genera cuando se aplican topP y topK. La temperatura controla el grado de aleatorización en la selección de tokens. Las temperaturas más bajas son buenas para los mensajes que requieren una respuesta menos abierta o de creativa, mientras que las temperaturas más altas pueden generar resultados más diversos o creativos. Una temperatura de 0 significa que siempre se seleccionan los tokens de probabilidad más alta. En este caso, las respuestas para un mensaje determinado son, en su mayoría, deterministas, pero es posible que haya una pequeña cantidad de variación.

Si el modelo muestra una respuesta demasiado genérica, demasiado corta o el modelo proporciona una respuesta de resguardo, intenta aumentar la temperatura.

Las temperaturas más bajas generan resultados predecibles (pero no completamente deterministas). Para obtener más información, consulta temperature.

Parámetros de detención

Cantidad máxima de tokens de salida

Establece maxOutputTokens para limitar la cantidad de tokens que se generan en la respuesta. Un token tiene aproximadamente cuatro caracteres, por lo que 100 tokens corresponden a aproximadamente 60 a 80 palabras. Establece un valor bajo para limitar la longitud de la respuesta.

Secuencias de detención

Define cadenas en stopSequences para indicarle al modelo que deje de generar texto si se encuentra una de las cadenas en la respuesta. Si una cadena aparece varias veces en la respuesta, la respuesta se trunca en el lugar en que se encontró por primera vez. Las cadenas distinguen entre mayúsculas y minúsculas.

Parámetros de penalización de tokens

Penalización por frecuencia

Los valores positivos penalizan los tokens que aparecen repetidamente en el texto generado, lo que disminuye la probabilidad de repetir contenido. El valor mínimo es -2.0. El valor máximo es hasta 2.0, no inclusive. Para obtener más información, consulta frequencyPenalty:

Penalización por presencia

Los valores positivos penalizan los tokens que ya aparecen en el texto generado, lo que aumenta la probabilidad de generar contenido más diverso. El valor mínimo es -2.0. El valor máximo es hasta 2.0, no inclusive. Para obtener más información, consulta presencePenalty:

Parámetros avanzados

Usa estos parámetros para mostrar más información sobre los tokens en la respuesta o para controlar la variabilidad de la respuesta.

Probabilidades de registro de los tokens de salida

Devuelve las probabilidades de registro de los tokens candidatos principales en cada paso de generación. Es posible que el token elegido del modelo no sea el mismo que el token de candidato principal en cada paso. Especifica la cantidad de candidatos que se mostrarán con un valor de número entero en el rango de 1 a 20. Para obtener más información, consulta logprobs. También debes configurar el parámetro responseLogprobs en true para usar esta función.

El parámetro responseLogprobs muestra las probabilidades de registro de los tokens que eligió el modelo en cada paso.

Para obtener más información, consulta el notebook Intro to Logprobs.

Semilla

Cuando el valor semilla se fija en un valor específico, el modelo hace su mejor esfuerzo para proporcionar la misma respuesta para las solicitudes repetidas. No se garantiza un resultado determinístico. Además, cambiar la configuración del modelo o del parámetro, como la temperatura, puede causar variaciones en la respuesta, incluso cuando usas el mismo valor semilla. Según la configuración predeterminada, se usa un valor semilla aleatorio. Para obtener más información, consulta seed.

Ejemplo

Este es un ejemplo que usa parámetros para ajustar la respuesta de un modelo.

Gen AI SDK for Python

Instalar

pip install --upgrade google-genai

Para obtener más información, consulta la documentación de referencia del SDK.

Establece variables de entorno para usar el SDK de 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 ...
# }

Gen AI SDK for Go

Obtén información para instalar o actualizar Gen AI SDK for Go.

Para obtener más información, consulta la documentación de referencia del SDK.

Establece variables de entorno para usar el SDK de 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(0.0),
		CandidateCount:   genai.Ptr(int64(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, err := resp.Text()
	if err != nil {
		return fmt.Errorf("failed to convert model response to text: %w", err)
	}
	fmt.Fprintln(w, respText)
	// Example response:
	// {
	//   "explanation": "The sky is blue due to a phenomenon called Rayleigh scattering ...
	// }

	return nil
}

¿Qué sigue?