MLX 本地管道
MLX 模型可以通过 MLXPipeline
类在本地运行。
MLX 社区托管了 150 多个模型,所有这些模型都是开源的,并且在 Hugging Face Model Hub(一个在线平台,人们可以在此平台上轻松协作并一起构建 ML)上公开可用。
这些模型可以通过本地管道包装器或通过 MlXPipeline 类调用其托管的推理端点来从 LangChain 调用。有关 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 参考: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