這是一篇關於 LLM 生成參數的清單/說明,由 ChatGPT 5 Auto 使用搜尋功能整理起來的,為了避免幻覺,將找到的參考網址利用索引編號的方式補上。
先附上同樣內容 Gist 文章,喜歡的可以點星星。
LLM 生成參數清單與說明
目的:快速對齊 OpenAI、Anthropic、Google Gemini、AWS Bedrock 等 API 常用生成參數,提供定義、取值範圍、適用情境與風險備註,便於跨平台設定一致化。
主要生成參數與應用
1) Temperature(溫度) [1][2]
- 定義:調整機率分布尖銳度以控制隨機性;值越高結果越發散,越低則越保守。
- 範圍:0.0–1.5(常用 0–1)。
- 建議:
- 低(0–0.3):事實型回答、程式碼、規格文件、翻譯。
- 中(0.4–0.7):一般敘事、適度創意。
- 高(0.8–1.2):腦力激盪、創意文案、多樣性輸出。
- 風險:溫度升高會增加幻覺機率與降低一致性。
2) Top‑p(Nucleus Sampling,核採樣) [1][2][3]
- 定義:從累積機率 ≥ p 的詞集合中抽樣,動態限制候選集大小。
- 範圍:0.1–0.95。
- 建議:
- 低(0.1–0.4):高精準度與集中度。
- 高(0.8–0.95):創意與多樣性。
- 注意:與 Temperature 同時升高會放大隨機性,通常僅調整其中一項。
3) Top‑k [4][5]
- 定義:固定從機率最高的 k 個候選中抽樣。
- 範圍:20–200(依模型與平台而異;Bedrock 常見 0–500)。
- 適用:需要可控且穩定的生成,特別是批次處理或離線生成。
4) Max Tokens / Max Output Tokens(最大輸出 Token) [1][2][4][5]
- 定義:限制回應的最大 token 數。
- 建議:依任務長度設置,避免截斷長文或程式碼。
- 風險:值過小會截斷,過大則增加成本與跑題風險。
5) Stop / Stop Sequences(停止序列) [1][3][4][5]
- 定義:遇到指定字串即終止生成。
- 用途:模板化輸出、只取特定段落、避免越界內容。
- 注意:不同平台上限不同,常見最多 4 組。
6) Frequency Penalty(頻率懲罰) [1]
- 定義:降低重複詞出現機率,避免冗詞與重複句。
- 適用:摘要去重、對話減少重複表述。
7) Presence Penalty(出現懲罰 / 新詞誘導) [1]
- 定義:對已出現詞施加懲罰,鼓勵新話題與新詞彙。
- 適用:腦力激盪、多元化內容生成。
8) Candidate Count / n(多候選數) [2]
- 定義:一次產生多個候選,供後續篩選。
- 成本:成比例增加 token 消耗與計費。
9) Safety / Moderation(安全設定) [2][3]
- 定義:控制內容安全過濾的嚴格度與策略。
- 適用:開放式輸入、公共應用上線前防範不當內容。
10) JSON / Structured Output(結構化輸出) [1][2]
- 定義:要求輸出為 JSON 或特定結構格式,部分平台支援嚴格模式。
- 注意:仍可能違反格式,建議搭配 stop 序列與 schema 驗證。
主要供應商參數對照
供應商 | 溫度 | Top‑p | Top‑k | 最大輸出 | 停止序列 | 懲罰類 | 安全設定 | 備註 |
---|---|---|---|---|---|---|---|---|
OpenAI [1] | temperature | top_p | (無通用) | max_tokens | stop | frequency_penalty / presence_penalty | 模型內建審核 + Moderation API | Chat Completions / Responses / Realtime |
Anthropic Claude [3] | temperature | (依通道) | (依平台) | max_tokens | stop_sequences | (無傳統兩懲罰) | 平台側安全 | stop_reason 報告終止原因 |
Google Gemini [2][6] | temperature | topP | topK | maxOutputTokens | stopSequences | (無傳統兩懲罰) | safetySettings | SDK 預設 Token 與安全策略 |
AWS Bedrock [4][5][7] | temperature | topP | topK | maxTokens | stopSequences | (依模型) | (依模型) | 值域與預設視模型而定 |
註:實際參數與範圍以官方文件為準。
快速設定策略
- 嚴謹回覆:
temperature=0–0.2
,top_p=0.2–0.5
,設定stop
與足夠max_tokens
。 - 創意寫作:
temperature=0.8–1.0
,top_p=0.8–0.95
;可搭配presence_penalty
。 - 程式碼 / SQL:
temperature=0–0.3
,top_p≤0.5
;增加max_tokens
避免截斷。 - 批次多樣化:提高
temperature
或使用top_k
,並啟用多候選n
。
範例設定
OpenAI(Responses API)
{
"model": "gpt-4.1-mini",
"input": "Summarize the following text...",
"temperature": 0.3,
"top_p": 0.6,
"max_tokens": 400,
"stop": ["\n\n"],
"frequency_penalty": 0.2,
"presence_penalty": 0.1
}
Anthropic Claude(Messages)
{
"model": "claude-3.7-sonnet",
"max_tokens": 400,
"temperature": 0.2,
"stop_sequences": ["\n\nHuman:"]
}
Google Gemini(GenerateContent)
{
"model": "gemini-2.5-flash",
"contents": "...",
"generationConfig": {
"temperature": 0.7,
"topP": 0.9,
"topK": 40,
"maxOutputTokens": 512,
"stopSequences": ["\nEND\n"]
},
"safetySettings": { "HATE": "BLOCK_ONLY_HIGH" }
}
AWS Bedrock(Converse 匯總介面)
{
"modelId": "anthropic.claude-3-7-sonnet",
"inferenceConfig": {
"temperature": 0.2,
"topP": 0.5,
"topK": 50,
"maxTokens": 400,
"stopSequences": ["\n\nHuman:"]
}
}
實務備註
temperature
與top_p
同時升高會大幅增加隨機性,建議只調一項。- 結構化輸出需:明確 schema → 設定
stop
→ 程式端驗證 JSON。 - 成本與延遲受
max_tokens
和候選數影響最大,應先設定上限再微調。 - Token 長度定義跨平台略有差異,需預留緩衝。
參考資料
[1] OpenAI API 參考 — https://platform.openai.com/docs/api-reference/introduction
[2] Google Vertex AI / Gemini 參數 — https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/content-generation-parameters
[3] Anthropic Messages API — https://docs.anthropic.com/en/api/messages
[4] AWS Bedrock Inference 參數 — https://docs.aws.amazon.com/bedrock/latest/userguide/inference-parameters.html
[5] AWS Bedrock API InferenceConfiguration — https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InferenceConfiguration.html
[6] Google Vertex AI GenerationConfig — https://cloud.google.com/vertex-ai/generative-ai/docs/reference/rest/v1/GenerationConfig
[7] AWS Bedrock Converse API — https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html