MLX Local Pipelines
MLX 模型可以通过 MLXPipeline
类在本地运行。
MLX 社区 托管了超过 150 个模型,所有模型都是开源的,并在 Hugging Face Model Hub 上公开提供。Hugging Face Model Hub 是一个在线平台,人们可以在这里轻松协作并共同构建 ML。
这些模型可以从 LangChain 中调用,既可以通过本地管线包装器调用,也可以通过 MlXPipeline 类调用其托管的推理端点。有关 mlx 的更多信息,请参阅 examples repo notebook。
要使用,您应该安装 mlx-lm
python 包,以及 transformers。您也可以安装 huggingface_hub
。
%pip install --upgrade --quiet mlx-lm transformers huggingface_hub
模型加载
可以通过使用 from_model_id
方法指定模型参数来加载模型。
from langchain_community.llms.mlx_pipeline import MLXPipeline
pipe = MLXPipeline.from_model_id(
"mlx-community/quantized-gemma-2b-it",
pipeline_kwargs={"max_tokens": 10, "temp": 0.1},
)
API 参考:MLXPipeline
它们也可以通过直接传入现有的 transformers
管线来加载
from mlx_lm import load
model, tokenizer = load("mlx-community/quantized-gemma-2b-it")
pipe = MLXPipeline(model=model, tokenizer=tokenizer)
创建链
将模型加载到内存后,您可以将其与提示组合以形成链。
from langchain_core.prompts import PromptTemplate
template = """Question: {question}
Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)
chain = prompt | pipe
question = "What is electroencephalography?"
print(chain.invoke({"question": question}))
API 参考:PromptTemplate