From 7231ddb1b3b14b5481bd233686b6de8703370f94 Mon Sep 17 00:00:00 2001 From: yisding <yi.s.ding@gmail.com> Date: Tue, 30 Jan 2024 20:11:57 -0800 Subject: [PATCH] allow simpledirectoryreader to get a string (#488) Co-authored-by: Alex Yang <himself65@outlook.com> --- .changeset/warm-monkeys-check.md | 5 +++++ .../core/src/readers/SimpleDirectoryReader.ts | 22 +++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 .changeset/warm-monkeys-check.md diff --git a/.changeset/warm-monkeys-check.md b/.changeset/warm-monkeys-check.md new file mode 100644 index 000000000..65ca74b1f --- /dev/null +++ b/.changeset/warm-monkeys-check.md @@ -0,0 +1,5 @@ +--- +"llamaindex": patch +--- + +feat: allow `SimpleDirectoryReader` to get a string diff --git a/packages/core/src/readers/SimpleDirectoryReader.ts b/packages/core/src/readers/SimpleDirectoryReader.ts index a6177381b..2dc053f34 100644 --- a/packages/core/src/readers/SimpleDirectoryReader.ts +++ b/packages/core/src/readers/SimpleDirectoryReader.ts @@ -49,7 +49,7 @@ export const FILE_EXT_TO_READER: Record<string, BaseReader> = { gif: new ImageReader(), }; -export type SimpleDirectoryReaderLoadDataProps = { +export type SimpleDirectoryReaderLoadDataParams = { directoryPath: string; fs?: CompleteFileSystem; defaultReader?: BaseReader | null; @@ -64,12 +64,20 @@ export type SimpleDirectoryReaderLoadDataProps = { export class SimpleDirectoryReader implements BaseReader { constructor(private observer?: ReaderCallback) {} - async loadData({ - directoryPath, - fs = defaultFS, - defaultReader = new TextFileReader(), - fileExtToReader = FILE_EXT_TO_READER, - }: SimpleDirectoryReaderLoadDataProps): Promise<Document[]> { + async loadData( + params: SimpleDirectoryReaderLoadDataParams | string, + ): Promise<Document[]> { + if (typeof params === "string") { + params = { directoryPath: params }; + } + + const { + directoryPath, + fs = defaultFS, + defaultReader = new TextFileReader(), + fileExtToReader = FILE_EXT_TO_READER, + } = params; + // Observer can decide to skip the directory if ( !this.doObserverCheck("directory", directoryPath, ReaderStatus.STARTED) -- GitLab