Skip to main content

目录加载器

兼容性

仅适用于 Node.js。

此笔记本提供了有关快速开始使用 DirectoryLoader 文档加载器 的快速概述。如需查看 DirectoryLoader 所有功能和配置的详细文档,请前往 API 参考

本示例介绍如何从包含多个文件的文件夹加载数据。第二个参数是文件扩展名到加载器工厂的映射。每个文件都会被传递给匹配的加载器,生成的文档将被合并在一起。

示例文件夹:

src/document_loaders/example_data/example/
├── example.json
├── example.jsonl
├── example.txt
└── example.csv

概览

集成详情

类别包名兼容性本地支持Python 支持
DirectoryLoaderlangchain仅限 Node

准备工作

要访问 DirectoryLoader 文档加载器,你需要安装 langchain 包。

安装

LangChain DirectoryLoader 集成位于 langchain 包中:

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

yarn add langchain @langchain/core

实例化

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

import { DirectoryLoader } from "langchain/document_loaders/fs/directory";
import {
JSONLoader,
JSONLinesLoader,
} from "langchain/document_loaders/fs/json";
import { TextLoader } from "langchain/document_loaders/fs/text";
import { CSVLoader } from "@langchain/community/document_loaders/fs/csv";

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 参考页面: https://api.js.langchain.com/classes/langchain.document_loaders_fs_directory.DirectoryLoader.html


Was this page helpful?


You can also leave detailed feedback on GitHub.