推理参数#

vLLM API 的推理参数。

采样参数#

class vllm.SamplingParams(n: int = 1, best_of: int | None = None, _real_n: int | None = None, presence_penalty: float = 0.0, frequency_penalty: float = 0.0, repetition_penalty: float = 1.0, temperature: float = 1.0, top_p: float = 1.0, top_k: int = -1, min_p: float = 0.0, seed: int | None = None, stop: str | ~typing.List[str] | None = None, stop_token_ids: ~typing.List[int] | None = None, bad_words: ~typing.List[str] | None = None, ignore_eos: bool = False, max_tokens: int | None = 16, min_tokens: int = 0, logprobs: int | None = None, prompt_logprobs: int | None = None, detokenize: bool = True, skip_special_tokens: bool = True, spaces_between_special_tokens: bool = True, logits_processors: ~typing.Any | None = None, include_stop_str_in_output: bool = False, truncate_prompt_tokens: int | None = None, output_kind: ~vllm.sampling_params.RequestOutputKind = RequestOutputKind.CUMULATIVE, output_text_buffer_length: int = 0, _all_stop_token_ids: ~typing.Set[int] = <factory>, guided_decoding: ~vllm.sampling_params.GuidedDecodingParams | None = None, logit_bias: ~typing.Dict[int, float] | None = None, allowed_token_ids: ~typing.List[int] | None = None)[source]#

用于文本生成的采样参数。

总体而言,我们遵循 OpenAI 文本完成 API 的采样参数 (https://platform.openai.com/docs/api-reference/completions/create)。 此外,我们还支持波束搜索,OpenAI 不支持该功能。

参数:
  • n – 对于给定的提示,返回的输出序列数。

  • best_of – 从提示生成的输出序列数。 从这些 best_of 序列中,返回前 n 个序列。 best_of 必须大于或等于 n。 默认情况下,best_of 设置为 n

  • presence_penalty – 浮点数,用于根据新 token 是否出现在到目前为止生成的文本中来惩罚新 token。 值 > 0 鼓励模型使用新 token,而值 < 0 鼓励模型重复 token。

  • frequency_penalty – 浮点数,用于根据新 token 在到目前为止生成的文本中出现的频率来惩罚新 token。 值 > 0 鼓励模型使用新 token,而值 < 0 鼓励模型重复 token。

  • repetition_penalty – 浮点数,用于根据新 token 是否出现在提示和到目前为止生成的文本中来惩罚新 token。 值 > 1 鼓励模型使用新 token,而值 < 1 鼓励模型重复 token。

  • temperature – 浮点数,用于控制采样的随机性。 较低的值使模型更具确定性,而较高的值使模型更具随机性。 零表示贪婪采样。

  • top_p – 浮点数,用于控制要考虑的顶部 token 的累积概率。 必须在 (0, 1] 范围内。 设置为 1 以考虑所有 token。

  • top_k – 整数,用于控制要考虑的顶部 token 的数量。 设置为 -1 以考虑所有 token。

  • min_p – 浮点数,表示要考虑的 token 的最小概率,相对于最有可能的 token 的概率。 必须在 [0, 1] 范围内。 设置为 0 以禁用此功能。

  • seed – 用于生成的随机种子。

  • stop – 字符串列表,当生成这些字符串时停止生成。 返回的输出将不包含停止字符串。

  • stop_token_ids – token 列表,当生成这些 token 时停止生成。 除非停止 token 是特殊 token,否则返回的输出将包含停止 token。

  • bad_words – 不允许生成的单词列表。 更准确地说,当下一个生成的 token 可以完成序列时,只不允许相应 token 序列的最后一个 token。

  • include_stop_str_in_output – 是否在输出文本中包含停止字符串。 默认为 False。

  • ignore_eos – 是否忽略 EOS token 并在生成 EOS token 后继续生成 token。

  • max_tokens – 每个输出序列要生成的最大 token 数。

  • min_tokens – 在可以生成 EOS 或 stop_token_ids 之前,每个输出序列要生成的最小 token 数

  • logprobs – 每个输出 token 返回的对数概率数。 当设置为 None 时,不返回概率。 如果设置为非 None 值,则结果包括指定数量的最有可能的 token 的对数概率,以及所选的 token。 请注意,该实现遵循 OpenAI API:API 将始终返回采样 token 的对数概率,因此响应中最多可能有 logprobs+1 个元素。

  • prompt_logprobs – 每个提示 token 返回的对数概率数。

  • detokenize – 是否对输出进行反 token 化。 默认为 True。

  • skip_special_tokens – 是否跳过输出中的特殊 token。

  • spaces_between_special_tokens – 是否在输出中的特殊 token 之间添加空格。 默认为 True。

  • logits_processors – 函数列表,这些函数根据先前生成的 token 修改 logits,并可选地将提示 token 作为第一个参数。

  • truncate_prompt_tokens – 如果设置为整数 k,则仅使用提示中的最后 k 个 token(即,左截断)。 默认为 None(即,不截断)。

  • guided_decoding – 如果提供,引擎将从这些参数构建引导式解码 logits 处理器。 默认为 None。

  • logit_bias – 如果提供,引擎将构建一个 logits 处理器,该处理器应用这些 logit 偏差。 默认为 None。

  • allowed_token_ids – 如果提供,引擎将构建一个 logits 处理器,该处理器仅保留给定 token id 的分数。 默认为 None。

clone() SamplingParams[source]#

深拷贝,但可能不包括 LogitsProcessor 对象。

LogitsProcessor 对象可能包含任意的、大量的、复制成本很高的数据。 但是,如果不复制,处理器需要支持多个序列的并行解码。 请参阅 vllm-project/vllm#3087

update_from_generation_config(generation_config: Dict[str, Any], model_eos_token_id: int | None = None) None[source]#

如果 generation_config 中存在非默认值,则进行更新

池化参数#

class vllm.PoolingParams(additional_data: Any | None = None)[source]#

池化模型的 API 参数。 这目前是一个占位符。

additional_data[source]#

池化所需的任何附加数据。

类型:

Any | None

clone() PoolingParams[source]#

返回 PoolingParams 实例的深拷贝。