From a63256eb84d58b15c6bdf507e6653b133c3d3669 Mon Sep 17 00:00:00 2001 From: Marcus Schiesser <mail@marcusschiesser.de> Date: Wed, 24 Apr 2024 14:54:29 +0800 Subject: [PATCH] feat: add default file metadata (#758) --- .../core/src/readers/SimpleDirectoryReader.edge.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/core/src/readers/SimpleDirectoryReader.edge.ts b/packages/core/src/readers/SimpleDirectoryReader.edge.ts index face1fdd3..70123b153 100644 --- a/packages/core/src/readers/SimpleDirectoryReader.edge.ts +++ b/packages/core/src/readers/SimpleDirectoryReader.edge.ts @@ -1,6 +1,6 @@ import type { CompleteFileSystem } from "@llamaindex/env"; import { defaultFS, path } from "@llamaindex/env"; -import { Document } from "../Node.js"; +import { Document, type Metadata } from "../Node.js"; import { walk } from "../storage/FileSystem.js"; import { TextFileReader } from "./TextFileReader.js"; import type { BaseReader } from "./type.js"; @@ -89,6 +89,7 @@ export class SimpleDirectoryReader implements BaseReader { } const fileDocs = await reader.loadData(filePath, fs); + fileDocs.forEach(addMetaData(filePath)); // Observer can still cancel addition of the resulting docs from this file if (this.doObserverCheck("file", filePath, ReaderStatus.COMPLETE)) { @@ -124,3 +125,10 @@ export class SimpleDirectoryReader implements BaseReader { return true; } } + +function addMetaData(filePath: string): (doc: Document<Metadata>) => void { + return (doc: Document<Metadata>) => { + doc.metadata["file_path"] = path.resolve(filePath); + doc.metadata["file_name"] = path.basename(filePath); + }; +} -- GitLab