本笔记本概述了如何开始使用 DirectoryLoader 文档加载器。有关所有 DirectoryLoader 功能和配置的详细文档,请参阅 API 参考.
此示例介绍如何从包含多个文件的文件夹中加载数据。第二个参数是文件扩展名到加载器工厂的映射。每个文件将被传递给匹配的加载器,生成的文档将被连接在一起。
示例文件夹:
src/document_loaders/example_data/example/
├── example.json
├── example.jsonl
├── example.txt
└── example.csv
概述
集成详情
| 类 | 包 | 兼容性 | 本地 | PY 支持 |
|---|---|---|---|---|
DirectoryLoader | langchain | 仅 Node | ✅ | ✅ |
设置
要访问 DirectoryLoader 文档加载器,您需要安装 langchain package.
安装
LangChain DirectoryLoader 集成位于 langchain package:
npm install langchain @langchain/core
yarn add langchain @langchain/core
pnpm add langchain @langchain/core
实例化
现在我们可以实例化模型对象并加载文档:
JSONLoader,
JSONLinesLoader,
} from "@langchain/classic/document_loaders/fs/json";
const loader = new DirectoryLoader(
"../../../../../../examples/src/document_loaders/example_data",
{
".json": (path) => new JSONLoader(path, "/texts"),
".jsonl": (path) => new JSONLinesLoader(path, "/html"),
".txt": (path) => new TextLoader(path),
".csv": (path) => new CSVLoader(path, "text"),
}
);
加载
const docs = await loader.load()
// disable console.warn calls
console.warn = () => {}
docs[0]
Document {
pageContent: 'Foo\nBar\nBaz\n\n',
metadata: {
source: '/Users/bracesproul/code/lang-chain-ai/langchainjs/examples/src/document_loaders/example_data/example.txt'
},
id: undefined
}
console.log(docs[0].metadata)
{
source: '/Users/bracesproul/code/lang-chain-ai/langchainjs/examples/src/document_loaders/example_data/example.txt'
}
API 参考
有关所有 DirectoryLoader 功能和配置的详细文档,请参阅 API 参考.