LangChain

抱抱脸Huggingface#

本页面介绍如何在LangChain中使用抱抱脸huggingface生态系统(包括抱抱脸huggingface中心 (opens in a new tab))。
它分为两个部分:安装和设置,然后是特定的抱抱脸huggingface包装器的引用。

安装和设置#

如果您想使用抱抱脸huggingface中心:

  • 使用pip install huggingface_hub安装中心客户端库

  • 创建一个抱抱脸huggingface账户(免费!)

  • 创建一个访问令牌 (opens in a new tab)并将其设置为环境变量(HUGGINGFACEHUB_API_TOKEN)

如果您想使用Hugging Face Python库进行工作:

  • 安装pip install transformers以使用模型和分词器

  • 安装pip install datasets以使用数据集

Wrappers#

LLM#

存在两个Hugging Face LLM包装器,一个用于本地管道,另一个用于托管在Hugging Face Hub上的模型。 请注意,这些包装器仅适用于支持以下任务的模型:text2text-generation (opens in a new tab)text-generation (opens in a new tab)

使用本地管道包装器:

from langchain.llms import HuggingFacePipeline
 

使用Hugging Face Hub上托管的模型的包装器:

from langchain.llms import HuggingFaceHub
 

有关Hugging Face Hub包装器的更详细演练,请参见这个notebook

嵌入#

有两个Hugging Face嵌入包装器,一个用于本地模型,一个用于Hugging Face Hub上托管的模型。 请注意,这些包装器仅适用于sentence-transformers模型 (opens in a new tab)

要使用本地管道包装器:

from langchain.embeddings import HuggingFaceEmbeddings
 

要使用Hugging Face Hub上托管的模型的包装器:

from langchain.embeddings import HuggingFaceHubEmbeddings
 

有关更详细的操作说明,请参见此教程电脑

分词器#

您可以通过transformers包中提供的几个地方使用标记器。 默认情况下,它用于计算所有LLM的标记数。

您还可以在拆分文档时使用它来计算标记数

from langchain.text_splitter import CharacterTextSplitter
CharacterTextSplitter.from_huggingface_tokenizer(...)
 

有关更详细的操作说明,请参见此教程电脑

数据集#

Hugging Face Hub有很多非常好的数据集 (opens in a new tab),可以用来评估您的LLM链。

关于如何使用它们进行评估的详细步骤,请参见这个notebook