文本生成参数
所有文本生成参数的完整参考。
基本参数
| 参数 | 类型 | 默认值 | 范围 | 描述 |
|---|---|---|---|---|
input | string | 必填 | - | 要续写的输入文本 |
model | TextModel | 'llama-3-erato-v1' | - | 使用的模型 |
maxLength | number | 40 | 1-2048 | 最大生成 token 数 |
minLength | number | 1 | 1-2048 | 最小生成 token 数 |
generateUntilSentence | boolean | - | - | 生成直到句子结束 |
采样参数
温度
控制随机性。较高的值产生更多样化的输出。
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 个 tokenTop-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 是一种自适应采样算法,可以保持输出的困惑度稳定。
| 参数 | 类型 | 描述 |
|---|---|---|
mirostatTau | number | 目标困惑度。0 = 禁用 |
mirostatLr | number | 学习率 (0.0-1.0) |
typescript
{
mirostatTau: 5.0, // 目标困惑度
mirostatLr: 0.1, // 学习率
}Unified 采样参数
Unified 采样是一种高级采样方法。
| 参数 | 类型 | 描述 |
|---|---|---|
unifiedLinear | number | 线性参数 |
unifiedQuad | number | 二次参数 |
unifiedConf | number | 熵缩放参数 |
重复惩罚
基本惩罚
惩罚重复的 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 可以增强生成内容与提示的一致性。
| 参数 | 类型 | 描述 |
|---|---|---|
cfgScale | number | CFG 强度。0 = 禁用 |
cfgUc | string | 负面提示 |
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 }, // 提高可能性
]其他参数
| 参数 | 类型 | 描述 |
|---|---|---|
numLogprobs | number | 返回的 logprobs 数量 (0-30) |
bracketBan | boolean | 禁止括号 token |
prefix | string | 使用的前缀/模块 |
order | number[] | 采样器顺序 |
完整示例
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'],
}