大语言模型关键参数详解#
1. temperature(温度)#
范围:0.0 - 2.0(通常0.1-1.0)
作用:控制输出的随机性/创造性- 低值(0.0-0.3):确定性高,重复输入得相同输出
- 适合:代码生成、数学计算、规则判断(你的场景)
- 示例:
temperature=0.1→ 几乎总是输出相同答案
- 高值(0.7-1.0):创造性高,每次输出可能不同
- 适合:创意写作、头脑风暴
- 示例:
temperature=0.9→ 每次生成不同的故事开头
2. top_p(核采样)#
范围:0.0 - 1.0
作用:控制候选词的选择范围- 低值(0.1-0.3):只考虑概率最高的少数选项
- 适合:精确答案、技术文档
- 示例:
top_p=0.1+temperature=0.1→ 极稳定输出
- 高值(0.9-1.0):考虑更多可能选项
- 适合:创意场景
3. frequency_penalty(频率惩罚)#
范围:-2.0 到 2.0
作用:惩罚重复使用的词汇- 正值:避免重复用词
frequency_penalty=0.5→ 减少重复词汇
- 负值:允许更多重复
4. presence_penalty(存在惩罚)#
范围:-2.0 到 2.0
作用:惩罚已提到过的话题/概念- 适合长对话中避免重复讨论同一话题
- 单次查询无需此功能
5. max_tokens(最大生成长度)#
作用:限制响应长度- 防止模型过度解释
参数组合示例#
场景1:严格规则判断#
{
"temperature": 0.1, # 低随机性
"top_p": 0.1, # 只考虑最佳选项
"frequency_penalty": 0, # 不惩罚重复
"presence_penalty": 0, # 不惩罚话题重复
"max_tokens": 10 # 简短输出
}效果:输入相同→输出几乎100%相同
场景2:创意写作#
{
"temperature": 0.8, # 高创造性
"top_p": 0.9, # 宽选择范围
"frequency_penalty": 0.3, # 避免词汇重复
"max_tokens": 500 # 长文本
}场景3:平衡对话#
{
"temperature": 0.5, # 适中
"top_p": 0.7,
"frequency_penalty": 0.1,
"max_tokens": 200
}