內容產生參數

本頁面說明您可以在對模型提出的要求中設定的選用取樣參數。每個模型可用的參數不盡相同。詳情請參閱參考說明文件

權杖取樣參數

Top-P

「Top-P」會影響模型選取輸出符記的方式。模型會按照可能性最高到最低的順序選取符記,直到所選符記的可能性總和等於 Top-P 值。舉例來說,假設詞元 A、B 和 C 的可能性分別為 0.3、0.2 和 0.1,而「Top-P」值為 0.5,模型會依據 temperature 選擇 A 或 B 做為下一個詞元,並排除 C。

如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。

詳情請參閱 topP

溫度參數

系統會在生成回覆時使用溫度進行取樣,也就是套用 topPtopK 時。溫度參數會決定選取詞元時的隨機程度。 如果希望提示生成較不具開放性和創意性的回覆,建議調低溫度參數。另一方面,如果溫度參數較高,則可能產生較多元或有創意的結果。如果溫度參數為 0,模型一律會選取可能性最高的詞元。在這種情況下,特定提示的回覆大多是確定性的,但仍可能出現少量差異。

如果模型的回覆太普通、太短或提供了備用回覆,再試試看調高 Temperature。

溫度越低,結果越可預測 (但並非完全確定)。詳情請參閱 temperature

停止參數

輸出詞元數量上限

設定 maxOutputTokens,限制回覆中生成的權杖數量。一個符記約為四個字元,因此 100 個符記大約對應 60 到 80 個字。將值設為偏低,即可限制回覆長度。

停止序列

stopSequences 中定義字串,讓模型在回應中遇到其中一個字串時停止生成文字。如果字串在回應中出現多次,系統會在第一次遇到該字串的位置截斷回應。字串會區分大小寫。

權杖懲處參數

頻率處罰

正值會懲罰在生成的文字中重複出現的符記,降低重複內容的機率。最小值為 -2.0。最大值為 2.0,但不包括 2.0。詳情請參閱 frequencyPenalty

標示狀態處罰

正值會懲罰已出現在生成文字中的符記,提高生成更多元內容的機率。最小值為 -2.0。最大值為 2.0 (不含)。 詳情請參閱 presencePenalty

進階參數

使用這些參數可在回應中傳回更多權杖相關資訊,或控管回應的變異性。

輸出符記的記錄機率

在每個生成步驟中,傳回最有可能的候選符記的記錄機率。模型選取的符記可能與每個步驟中的最佳候選符記不同。在 120 的範圍內指定整數值,即可設定要傳回的候選人數。詳情請參閱 logprobs。如要使用這項功能,您也需要將 responseLogprobs 參數設為 true

responseLogprobs 參數會傳回模型在每個步驟中選擇的符記記錄機率。

詳情請參閱「Logprobs 簡介」筆記本。

種子

如果將種子固定為特定值,模型會盡可能為重複要求提供相同的回覆。我們不保證輸出內容具有確定性。 此外,即使使用相同的種子值,如果變更模型或參數設定 (例如溫度),回覆還是有可能不同。根據預設,系統會使用隨機種子值。詳情請參閱 seed

範例

以下範例說明如何使用參數調整模型的回覆。

Python

安裝

pip install --upgrade google-genai

詳情請參閱 SDK 參考說明文件

設定環境變數,透過 Vertex AI 使用 Gen AI SDK:

# 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 參考說明文件

設定環境變數,透過 Vertex AI 使用 Gen AI SDK:

# 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://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
}

後續步驟