Skip to main content

非结构化加载器

:::提示 兼容性

仅适用于Node.js。

:::

本笔记本提供了快速入门UnstructuredLoader 文档加载器的概述。关于所有UnstructuredLoader功能和配置的详细文档,请前往API 参考

概览

集成细节

兼容性本地PY 支持
UnstructuredLoader@langchain/community仅限 Node

准备

要访问UnstructuredLoader文档加载器,你需要安装@langchain/community集成包,并创建一个 Unstructured 账户并获取 API 密钥。

本地运行

你可以使用 Docker 在本地计算机上运行 Unstructured。为此,你需要安装 Docker。你可以在这里找到安装 Docker 的说明。

docker run -p 8000:8000 -d --rm --name unstructured-api downloads.unstructured.io/unstructured-io/unstructured-api:latest --port 8000 --host 0.0.0.0

凭证

前往unstructured.io注册 Unstructured 并生成 API 密钥。完成此操作后,请设置UNSTRUCTURED_API_KEY环境变量:

export UNSTRUCTURED_API_KEY="your-api-key"

安装

LangChain 的 UnstructuredLoader 集成位于@langchain/community包中:

:::提示 请参阅安装集成包的一般说明部分。 :::

yarn add @langchain/community @langchain/core

实例化

现在我们可以实例化我们的模型对象并加载文档:

import { UnstructuredLoader } from "@langchain/community/document_loaders/fs/unstructured";

const loader = new UnstructuredLoader(
"../../../../../../examples/src/document_loaders/example_data/notion.md"
);

加载

const docs = await loader.load();
docs[0];
Document {
pageContent: '# Testing the notion markdownloader',
metadata: {
filename: 'notion.md',
languages: [ 'eng' ],
filetype: 'text/plain',
category: 'NarrativeText'
},
id: undefined
}
console.log(docs[0].metadata);
{
filename: 'notion.md',
languages: [ 'eng' ],
filetype: 'text/plain',
category: 'NarrativeText'
}

目录

你还可以使用 UnstructuredDirectoryLoader 来加载目录中的所有文件,它继承自 DirectoryLoader

import { UnstructuredDirectoryLoader } from "@langchain/community/document_loaders/fs/unstructured";

const directoryLoader = new UnstructuredDirectoryLoader(
"../../../../../../examples/src/document_loaders/example_data/",
{}
);
const directoryDocs = await directoryLoader.load();
console.log("directoryDocs.length: ", directoryDocs.length);
console.log(directoryDocs[0]);
Unknown file type: Star_Wars_The_Clone_Wars_S06E07_Crisis_at_the_Heart.srt
Unknown file type: test.mp3
directoryDocs.length:  247
Document {
pageContent: 'Bitcoin: A Peer-to-Peer Electronic Cash System',
metadata: {
filetype: 'application/pdf',
languages: [ 'eng' ],
page_number: 1,
filename: 'bitcoin.pdf',
category: 'Title'
},
id: undefined
}

API 参考文档

如需详细了解所有 UnstructuredLoader 的功能和配置,请访问 API 参考文档:https://api.js.langchain.com/classes/langchain_community_document_loaders_fs_unstructured.UnstructuredLoader.html


Was this page helpful?


You can also leave detailed feedback on GitHub.