UnstructuredLoader
兼容性
仅在 Node.js 上可用。
此笔记本提供了一个快速入门指南,介绍如何使用 UnstructuredLoader
文档加载器。有关所有 UnstructuredLoader
功能和配置的详细文档,请访问 API 参考。
概述
集成详细信息
类 | 包 | 兼容性 | 本地 | PY 支持 |
---|---|---|---|---|
UnstructuredLoader | @langchain/community | 仅限 Node | ✅ | ✅ |
设置
要访问 UnstructuredLoader
文档加载器,您需要安装 @langchain/community
集成包,并创建一个 Unstructured 帐户并获取 API 密钥。
本地
您可以使用 Docker 在计算机上本地运行 Unstructured。为此,您需要安装 Docker。您可以在这里找到安装 Docker 的说明 here.
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
包中
提示
有关安装集成包的通用说明,请参见 本节。
- npm
- yarn
- pnpm
npm i @langchain/community @langchain/core
yarn add @langchain/community @langchain/core
pnpm 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