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