跳转到主要内容

LangChain的核心价值支柱之一是能够将大型语言模型与您自己的文本数据相结合。有多种(四种!)不同的方法可以做到这一点,并且可以为许多不同的应用程序提供动力。

使用文本数据的上游一步是将数据转换为文本形式。由于存在多种不同的格式,这可能相当棘手。

unstructured.io

Unstructured是一家致力于将自然语言数据从原始数据转换为可供机器使用的数据的公司。他们实现这一点的主要方法之一是使用开源Python包。此包支持多种不同类型的文件扩展名:.txt、.docx、.pptx、.jpg、.png、.eml、.html和.pdf文档。

在玩过Unstructured之后,我们意识到通过与它集成,我们可以很容易地开始构建一流的支持,将所有类型的文档加载到LangChains可以使用的格式中。因此,我们创建了Document Loaders模块,其中很大一部分由Unstructured提供动力。

目前有两台装载器由Unstructured提供动力。两者看起来都很简单,但都很强大。

  • 第一个是UnstructuredFileLoader。这有一个简单的界面(你只需给它传递一个文件路径),但在后台Unstructured正在做很多智能逻辑来推断它是哪种数据类型(PDF、PowerPoint、图像等)并提取文本。
  • 第二个是DirectoryLoader。同样,这有一个非常简单的接口:它只需要一个目录的路径和一个可选的regex来glob文件。但在引擎盖下,它在所有文件上循环,并使用上面的UnstructuredFileLoader来加载它们。这样就可以在一次调用中加载所有类型的文件。

我们非常兴奋能够与Unstructured进行集成。由于他们专注于将原始数据转换为干净的文本,因此无论数据是什么形式,都可以非常容易地将语言模型与数据相结合。