Skip to content

01-document-loader.ts

文档对象示例,创建和使用 LangChain 的 Document 对象。

功能介绍

这个示例演示了如何创建和使用 LangChain 的 Document 对象。Document 是 LangChain 中文档的基本表示形式,包含内容和元数据。

使用场景

  • 表示文档数据用于后续处理
  • 创建文档块用于切分和向量化
  • 构建自定义文档加载逻辑
  • 理解 LangChain 的文档数据结构

学习要点

  1. 使用 Document@langchain/core/documents 创建文档对象
  2. pageContent 属性存储文档的文本内容
  3. metadata 属性存储文档的元数据(如来源、作者等)
  4. Document 对象可以被切分器和向量化器处理
  5. 进行环境变量检查和错误处理

源码

typescript
import "dotenv/config";
import { Document } from "@langchain/core/documents";
import { loadLocalFile } from "./_shared/loadLocalFile.js";

async function main() {
  try {
    console.log("=== Document Loading 示例 ===\n");

    const docs: Document[] = await loadLocalFile("src/04-rag/data/langchain-intro.txt");

    console.log(`Loaded ${docs.length} document(s)`);
    console.log("Content preview:", docs[0].pageContent.slice(0, 20));
    console.log("Metadata:", docs[0].metadata);
  } catch (error) {
    console.error("Error during document loading example:", error);
    process.exit(1);
  }
}

main().catch(console.error);

运行方式

bash
npm run dev src/04-rag/01-document-loader.ts