兼容性:仅在 Node.js 上可用。
本笔记本提供了 DirectoryLoader 文档加载器 的快速入门概述。有关所有 DirectoryLoader 功能和配置的详细文档,请参阅 API 参考 此示例介绍如何从包含多个文件的文件夹加载数据。第二个参数是文件扩展名到加载器工厂的映射。每个文件将传递给匹配的加载器,生成的文档将连接在一起。 示例文件夹:
src/document_loaders/example_data/example/
├── example.json
├── example.jsonl
├── example.txt
└── example.csv

概述

集成详情

ClassPackageCompatibilityLocalPY support
DirectoryLoaderlangchainNode-only

设置

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

安装

LangChain DirectoryLoader 集成位于 langchain 包中:
npm install langchain @langchain/core

实例化

现在我们可以实例化模型对象并加载文档:
import { DirectoryLoader } from "@langchain/classic/document_loaders/fs/directory";
import {
  JSONLoader,
  JSONLinesLoader,
} from "@langchain/classic/document_loaders/fs/json";
import { TextLoader } from "@langchain/classic/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()
// 禁用 console.warn 调用
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 参考
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.