如何编写自定义文档加载器
如果你想实现自己的文档加载器,你有几个选择。
子类化 BaseDocumentLoader
你可以直接扩展 BaseDocumentLoader
类。BaseDocumentLoader
类提供了一些方便的方法,用于从各种来源加载文档。
abstract class BaseDocumentLoader implements DocumentLoader {
abstract load(): Promise<Document[]>;
}
子类化 TextLoader
如果你想从文本文件加载文档,你可以扩展 TextLoader
类。TextLoader
类负责读取文件,因此你只需要实现一个解析方法。
abstract class TextLoader extends BaseDocumentLoader {
abstract parse(raw: string): Promise<string[]>;
}
子类化 BufferLoader
如果你想从二进制文件加载文档,你可以扩展 BufferLoader
类。BufferLoader
类负责读取文件,因此你只需要实现一个解析方法。
abstract class BufferLoader extends BaseDocumentLoader {
abstract parse(
raw: Buffer,
metadata: Document["metadata"]
): Promise<Document[]>;
}