非结构化加载器
兼容性
仅在 Node.js 上可用。
此笔记本提供了有关如何开始使用 UnstructuredLoader
文档加载器 的快速概述。有关 UnstructuredLoader
所有功能和配置的详细文档,请前往 API 参考。
概述
集成详情
类 | 包 | 兼容性 | 本地 | PY 支持 |
---|---|---|---|---|
非结构化加载器 | @langchain/community | 仅限节点 | ✅ | ✅ |
设置
要访问 UnstructuredLoader
文档加载器,您需要安装 @langchain/community
集成包,并创建一个非结构化帐户并获取 API 密钥。
本地
您可以使用 Docker 在您的计算机上本地运行非结构化。为此,您需要安装 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 注册非结构化并生成 API 密钥。完成此操作后,设置 UNSTRUCTURED_API_KEY
环境变量。
export UNSTRUCTURED_API_KEY="your-api-key"
安装
LangChain 非结构化加载器集成位于 @langchain/community
包中。
提示
- npm
- yarn
- pnpm
npm i @langchain/community
yarn add @langchain/community
pnpm add @langchain/community
实例化
现在我们可以实例化模型对象并加载文档。
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