1. 核心采样参数

top_k

  • 类型 :整数(默认:None

  • 作用 :限定采样时仅考虑概率最高的前 k 个词。例如,若 top_k=50,则从概率最高的50个词中随机选择下一个词。

  • 效果 :减少极端低概率词的干扰,提升生成文本的合理性。

top_p

  • 类型 :浮点数(默认:None

  • 作用 :按概率累积筛选词。例如,top_p=0.9 表示选择概率总和达到90%的最小词集合。

  • 效果 :相比 top_k 更灵活,适合概率分布不均匀的场景。

temperature

  • 类型 :浮点数(范围:0.0~100.0,默认:1.0

  • 作用 :控制采样随机性。

    • 1.0:常规采样(按概率分布随机选择)。

    • →0:趋近确定性(选最高概率词)。

    • →100:趋近均匀分布(随机性强,可能降低连贯性)。

  • 注意 :通常温度参数上限为1,此处允许更高值可能为特殊实现,需谨慎调整。

repetition_penalty

  • 类型 :浮点数(范围:0.0~100.0,默认:None

  • 作用 :惩罚重复出现的词,降低其被再次选中的概率。

  • 效果 :防止生成重复内容(如“你好你好”),数值越大惩罚越强。


2. 输出控制参数

max_new_tokens

  • 类型 :整数(范围:0~250,默认:None

  • 作用 :限制生成的新词数量(不含输入长度)。例如,输入50词 + max_new_tokens=100 → 总输出150词。

  • 注意 :生成词越多,响应时间越长。

max_time

  • 类型 :浮点数(范围:0~120秒,默认:None

  • 作用 :设置最大生成时间(软限制),需配合 max_new_tokens 使用。


3. 其他配置

return_full_text

  • 类型 :布尔值(默认:True

  • 作用 :是否返回原始输入+生成内容。设为 False 可简化后续提示处理。

num_return_sequences

  • 类型 :整数(默认:1

  • 作用 :生成多个候选回复(如 3 则返回3种不同版本)。

do_sample

  • 类型 :布尔值(默认:True

  • 作用 :启用采样(随机性)或贪婪解码(确定性)。

    • True:引入多样性(推荐用于创作)。

    • False:严格按最高概率生成(可能单调)。


关键组合策略

  • 高创造性 temperature=1.2 + top_p=0.9

  • 防重复 repetition_penalty=1.2

  • 快速响应 max_new_tokens=50 + max_time=30