MLX 本地管道
MLX 模型可以通过 MLXPipeline 类在本地运行。
MLX 社区 托管了超过150个模型,全部为开源模型,并在 Hugging Face 模型中心(一个在线平台,人们可以在该平台上轻松协作并共同构建机器学习项目)上公开提供。
这些可以通过 LangChain 调用,既可以使用本地管道包装器,也可以通过 MlXPipeline 类调用其托管的推理端点。有关 mlx 的更多信息,请参见 示例仓库 笔记本。
要使用,您应该已安装 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 参考:MLX 管道
也可以通过直接传入现有的 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 参考:提示模板