昇腾社区首页
中文
注册

__init__(self, in_temperature=1.0, in_top_k=0, in_top_p=1.0, in_typical_p=1.0, in_do_sample=False, in_seed=1, in_repetition_penalty=1.0, in_watermark=False, in_frequency_penalty=0.0, in_presence_penalty=0.0)

接口功能

SamplingParams枚举类型参数。

接口格式

class SamplingParams:
    def __init__(self, in_temperature=1.0, in_top_k=0, in_top_p=1.0, in_typical_p=1.0, in_do_sample=False, in_seed=1, in_repetition_penalty=1.0, in_watermark=False, in_frequency_penalty=0.0, in_presence_penalty=0.0)

接口参数

参数

参数类型

说明

取值要求

in_temperature

float

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

float类型,取值范围大于0.0,默认值1.0。

取值越大,结果的随机性越大。推荐使用大于或等于0.001的值,小于0.001可能会导致文本质量不佳。

in_top_k

uint32_t

控制模型生成过程中考虑的词汇(token)范围,只从概率最高的k个候选词中选择。使用限制请参见使用限制

uint32_t类型,取值范围[0, 2147483647]&&[0, vocabSize),默认值0。

vocabSize是从modelWeightPath路径下的config.json文件中读取的vocab_size或者padded_vocab_size的值,若不存在则vocabSize取默认值0。建议用户在config.json文件中添加vocab_size或者padded_vocab_size参数,否则可能导致推理失败。

in_top_p

float

控制模型生成过程中考虑的词汇范围,使用累计概率选择候选词,直到累计概率超过给定的阈值。该参数也可以控制生成结果的多样性,它基于累积概率选择候选词,直到累计概率超过给定的阈值为止。

in_typical_p

float

每个单词被选择为下一个单词的概率大小。

float类型,取值范围(0.0, 1.0]。

in_do_sample

bool

是否做sampling。

-

in_seed

uint64_t

于指定推理过程的随机种子,相同的seed值可以确保推理结果的可重现性,不同的seed值会提升推理结果的随机性。

uint64_t类型,取值范围(0, 18446744073709551615],不传递该参数,系统会产生一个随机seed值。

in_repetition_penalty

float

重复惩罚用于减少在文本生成过程中出现重复片段的概率。它对之前已经生成的文本进行惩罚,使得模型更倾向于选择新的、不重复的内容。

float类型,大于0.0,默认值1.0。

  • 1.0表示不进行重复度惩罚。
  • 大于1.0表示对重复进行惩罚。

建议最大值取2.0,同时视模型而定。

in_watermark

bool

水印。

-

in_frequency_penalty

float

它影响模型如何根据文本中词汇的现有频率惩罚新词汇。正值将通过惩罚已经频繁使用的词来降低模型一行中重复用词的可能性。

float类型,取值范围[-2.0, 2.0],默认值0.0。

in_presence_penalty

float

它影响模型如何根据到目前为止是否出现在文本中来惩罚新token。正值将通过惩罚已经使用的词,增加模型谈论新主题的可能性。

float类型,取值范围[-2.0, 2.0],默认值0.0。

使用样例

from sdk.sampling import SamplingParams
samplingParams = SamplingParams()

返回值