可选接口#
模块内容#
- vllm.model_executor.models.interfaces.MultiModalEmbeddings[source]#
输出嵌入必须是以下格式之一
- 2D 张量的列表或元组,其中每个张量对应于
每个输入多模态数据项(例如,图像)。
单个 3D 张量,其批次维度将 2D 张量分组。
- class vllm.model_executor.models.interfaces.SupportsMultiModal(*args, **kwargs)[source]#
所有多模态模型所需的接口。
- supports_multimodal: ClassVar[Literal[True]] = True[source]#
一个标志,指示此模型支持多模态输入。
注意
如果此类在您的模型类的 MRO 中,则无需重新定义此标志。
- get_multimodal_embeddings(**kwargs: object) list[torch.Tensor] | torch.Tensor | tuple[torch.Tensor, ...] | None [source]#
返回从多模态 kwargs 生成的多模态嵌入,以便与文本嵌入合并。
注意
返回的多模态嵌入必须与其对应的多模态数据项在输入提示中的出现顺序相同。
- get_language_model() torch.nn.Module [source]#
返回用于文本生成的底层语言模型。
这通常是负责处理合并后的多模态嵌入并生成隐藏状态的 torch.nn.Module 实例
- 返回:
核心语言模型组件。
- 返回类型:
- class vllm.model_executor.models.interfaces.SupportsLoRA(*args, **kwargs)[source]#
所有支持 LoRA 的模型所需的接口。
- class vllm.model_executor.models.interfaces.SupportsPP(*args, **kwargs)[source]#
所有支持流水线并行的模型所需的接口。
- supports_pp: ClassVar[Literal[True]] = True[source]#
一个标志,指示此模型支持流水线并行。
注意
如果此类在您的模型类的 MRO 中,则无需重新定义此标志。
- make_empty_intermediate_tensors(batch_size: int, dtype: torch.dtype, device: torch.device) IntermediateTensors [source]#
在 PP 秩 > 0 时调用,用于性能分析目的。
- forward(*, intermediate_tensors: IntermediateTensors | None) torch.Tensor | IntermediateTensors [source]#
当 PP 秩 > 0 时接受
IntermediateTensors
。仅为最后一个 PP 秩返回
IntermediateTensors
。
- class vllm.model_executor.models.interfaces.HasInnerState(*args, **kwargs)[source]#
所有具有内部状态的模型所需的接口。
- class vllm.model_executor.models.interfaces.IsAttentionFree(*args, **kwargs)[source]#
所有像 Mamba 这样缺少注意力机制,但确实具有状态(其大小相对于 token 数量恒定)的模型的接口。
- class vllm.model_executor.models.interfaces.IsHybrid(*args, **kwargs)[source]#
所有像 Jamba 这样既有注意力模块又有 Mamba 模块的模型的接口,指示 hf_config 具有 ‘layers_block_type’
- class vllm.model_executor.models.interfaces.SupportsCrossEncoding(*args, **kwargs)[source]#
所有支持交叉编码的模型的接口。