Skip to content

文本生成参数

所有文本生成参数的完整参考。

基本参数

参数类型默认值范围描述
inputstring必填-要续写的输入文本
modelTextModel'llama-3-erato-v1'-使用的模型
maxLengthnumber401-2048最大生成 token 数
minLengthnumber11-2048最小生成 token 数
generateUntilSentenceboolean--生成直到句子结束

采样参数

温度

控制随机性。较高的值产生更多样化的输出。

typescript
temperature: 1.0  // 默认,平衡
temperature: 0.5  // 更集中
temperature: 5.0  // 更有创意
效果
0.1-1.0集中、确定性
1.0-2.0平衡
2.0+创意、多样化

范围:0.1-100

Top-K 采样

将词汇限制为最可能的前 K 个 token。

typescript
topK: 0    // 禁用(默认)
topK: 50   // 仅考虑前 50 个 token
topK: 100  // 仅考虑前 100 个 token

Top-P(核采样)

将词汇限制为构成前 P 概率质量的 token。

typescript
topP: 1.0  // 禁用(默认)
topP: 0.9  // 考虑前 90% 概率的 token
topP: 0.5  // 更严格

范围:0.0-1.0

Top-A 采样

基于概率比率的替代采样方法。

typescript
topA: 0    // 禁用(默认)
topA: 0.1  // 轻度过滤

Typical P 采样

根据概率的"典型性"过滤 token。

typescript
typicalP: 1.0  // 禁用(默认)
typicalP: 0.9  // 启用典型采样

无尾采样(TFS)

移除低概率尾部 token。

typescript
tailFreeSampling: 1.0  // 禁用(默认)
tailFreeSampling: 0.9  // 轻度尾部移除

范围:0.0-1.0

Min-P 采样

基于最小概率阈值的采样方法。

typescript
minP: 0    // 禁用(默认)
minP: 0.1  // 过滤概率低于最高概率 10% 的 token

范围:0.0-1.0

Top-G 采样

基于组的采样方法。

typescript
topG: 0  // 禁用(默认)

范围:0-65536

Mirostat 参数

Mirostat 是一种自适应采样算法,可以保持输出的困惑度稳定。

参数类型描述
mirostatTaunumber目标困惑度。0 = 禁用
mirostatLrnumber学习率 (0.0-1.0)
typescript
{
  mirostatTau: 5.0,  // 目标困惑度
  mirostatLr: 0.1,   // 学习率
}

Unified 采样参数

Unified 采样是一种高级采样方法。

参数类型描述
unifiedLinearnumber线性参数
unifiedQuadnumber二次参数
unifiedConfnumber熵缩放参数

重复惩罚

基本惩罚

惩罚重复的 token 以减少重复。

typescript
repetitionPenalty: 1.0  // 禁用(默认)
repetitionPenalty: 1.1  // 轻度惩罚
repetitionPenalty: 1.5  // 强惩罚

惩罚范围

向后查找重复的范围。

typescript
repetitionPenaltyRange: 0     // 完整上下文(默认)
repetitionPenaltyRange: 512   // 最后 512 个 token
repetitionPenaltyRange: 1024  // 最后 1024 个 token

范围:0-8192

频率惩罚

根据 token 出现的频率进行惩罚。

typescript
repetitionPenaltyFrequency: 0    // 禁用(默认)
repetitionPenaltyFrequency: 0.1  // 轻度频率惩罚

范围:-16 到 16

存在惩罚

惩罚已经出现过的 token。

typescript
repetitionPenaltyPresence: 0    // 禁用(默认)
repetitionPenaltyPresence: 0.1  // 轻度存在惩罚

范围:-16 到 16

惩罚斜率

控制惩罚随距离衰减的速度。

typescript
repetitionPenaltySlope: 0    // 禁用(默认)
repetitionPenaltySlope: 0.5  // 轻度斜率

范围:0-10

短语重复惩罚

预设的短语重复惩罚模式。

typescript
phraseRepPen: 'off'        // 禁用
phraseRepPen: 'very_light'
phraseRepPen: 'light'
phraseRepPen: 'medium'
phraseRepPen: 'aggressive'
phraseRepPen: 'very_aggressive'

CFG(分类器自由引导)

CFG 可以增强生成内容与提示的一致性。

参数类型描述
cfgScalenumberCFG 强度。0 = 禁用
cfgUcstring负面提示
typescript
{
  cfgScale: 1.5,
  cfgUc: 'boring, repetitive',
}

序列控制

停止序列

当产生这些序列中的任何一个时停止生成。

typescript
stopSequences: ['\n\n', 'THE END', '***']

说明:该参数会在请求前通过 token-count 端点将字符串序列转换为 token ID 数组, 这会产生额外的网络请求并带来少量延迟。使用的模型为 model 参数指定的模型。

禁止序列

防止这些序列出现在输出中。

typescript
banSequences: ['forbidden', 'unwanted']

说明:同样会触发 token-count 转换(额外请求)。

Logit 偏置

调整特定 token 的概率。

typescript
logitBias: [
  { token: 'the', bias: -0.5 },   // 降低可能性
  { token: 'magic', bias: 1.0 },  // 提高可能性
]

其他参数

参数类型描述
numLogprobsnumber返回的 logprobs 数量 (0-30)
bracketBanboolean禁止括号 token
prefixstring使用的前缀/模块
ordernumber[]采样器顺序

完整示例

typescript
const text = await client.text.generate({
  input: 'The wizard raised his staff and',
  model: 'llama-3-erato-v1',
  
  // 长度
  maxLength: 100,
  minLength: 20,
  
  // 采样
  temperature: 1.1,
  topK: 50,
  topP: 0.95,
  typicalP: 1.0,
  tailFreeSampling: 0.95,
  minP: 0.05,
  
  // 重复
  repetitionPenalty: 1.15,
  repetitionPenaltyRange: 512,
  repetitionPenaltyFrequency: 0.02,
  repetitionPenaltyPresence: 0.0,
  
  // 序列
  stopSequences: ['\n\n', '***'],
  banSequences: [],
  
  // 偏置
  logitBias: [
    { token: 'magic', bias: 0.5 },
  ],
});

推荐预设

创意写作

typescript
{
  temperature: 1.2,
  topP: 0.95,
  repetitionPenalty: 1.1,
  repetitionPenaltyRange: 512,
}

集中/事实性

typescript
{
  temperature: 0.7,
  topK: 40,
  repetitionPenalty: 1.0,
}

对话

typescript
{
  temperature: 1.0,
  topP: 0.9,
  repetitionPenalty: 1.05,
  stopSequences: ['\n\n'],
}

基于 MIT 许可证发布