跳到内容

TransformersLLM

Hugging Face transformers 库 LLM 实现,使用文本生成

pipeline。

属性

  • model: 模型 Hugging Face Hub 仓库 ID 或包含模型权重和配置文件目录的路径。

  • revision: 如果 model 指的是 Hugging Face Hub 仓库,则为要使用的修订版本(例如,分支名称或提交 ID)。默认为 "main"

  • torch_dtype: 模型要使用的 torch dtype,例如 "float16"、"float32" 等。默认为 "auto"

  • trust_remote_code: 是否允许获取和执行从 Hub 仓库获取的远程代码。默认为 False

  • model_kwargs: 将传递给模型的 from_pretrained 方法的附加关键字参数字典。

  • tokenizer: tokenizer Hugging Face Hub 仓库 ID 或包含 tokenizer 配置文件目录的路径。如果未提供,将使用与 model 关联的 tokenizer。默认为 None

  • use_fast: 是否使用快速 tokenizer。默认为 True

  • chat_template: 将用于构建提示的聊天模板,然后再将其发送到模型。如果未提供,则将使用 tokenizer 配置中定义的聊天模板。如果未提供且 tokenizer 没有聊天模板,则将使用 ChatML 模板。默认为 None

  • device: 模型将加载到的设备的名称或索引。默认为 None

  • device_map: 将模型的每一层映射到设备的字典,或 "sequential""auto" 等模式。默认为 None

  • token: 将用于验证 Hugging Face Hub 身份的 Hugging Face Hub 令牌。如果未提供,将使用 HF_TOKEN 环境变量或 huggingface_hub 包本地配置。默认为 None

  • structured_output: 包含结构化输出配置的字典,或者如果需要更精细的控制,则为 OutlinesStructuredOutput 的实例。默认为 None。

  • use_magpie_template: 用于启用/禁用应用 Magpie 预查询模板的标志。默认为 False

  • magpie_pre_query_template: 要应用于提示或发送到 LLM 以生成指令或后续用户消息的预查询模板。有效值为 "llama3"、"qwen2" 或提供的另一个预查询模板。默认为 None

示例

生成文本

from distilabel.models.llms import TransformersLLM

llm = TransformersLLM(model="microsoft/Phi-3-mini-4k-instruct")

llm.load()

# Call the model
output = llm.generate_outputs(inputs=[[{"role": "user", "content": "Hello world!"}]])