目前网上的langchain教程大多数都是关于如何调用OpenAI等远程模型,对于本地模型的调用示例写法比较少。而且langchain也在不停迭代,文档也比较杂。我个人用Hugging Face的开源模型比较多。因此,本文将向大家介绍如何使用Langchain调用Hugging Face本地模型的基础demo,帮助大家快速开始langchain的“Hello World”。
相关写法参考的是langchain官方文档https://python.langchain.com/v0.2/docs/integrations/llms/huggingface_pipelines/#model-loading。
【注意】事先安装langchain_huggingface、langchain,并下载好模型权重。
写法如下:
from langchain_huggingface.llms import HuggingFacePipeline
from langchain_core.prompts import PromptTemplate
hf = HuggingFacePipeline.from_model_id(
model_id=r"D:\PLMs\qwen\qwen1.5-1.8B-Chat",
task="text-generation",
device=0,
pipeline_kwargs={"max_new_tokens": 1000},
)
template = """Question: {question}
Answer: 让我们一步步思考。"""
prompt = PromptTemplate.from_template(template)
chain = prompt | hf
question = "C罗是谁?"
print(chain.invoke({"question": question}))