Skip to content

Obsidian

ObsidianReader #

Bases: BaseReader

从Obsidian Vault加载数据的实用工具。

Parameters:

Name Type Description Default
input_dir str

Vault的路径。

required
Source code in llama_index/readers/obsidian/base.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
class ObsidianReader(BaseReader):
    """从Obsidian Vault加载数据的实用工具。

    Args:
        input_dir (str): Vault的路径。"""

    def __init__(self, input_dir: str):
        """初始化参数。"""
        self.input_dir = Path(input_dir)

    def load_data(self, *args: Any, **load_kwargs: Any) -> List[Document]:
        """从输入目录加载数据。"""
        docs: List[Document] = []
        for dirpath, dirnames, filenames in os.walk(self.input_dir):
            dirnames[:] = [d for d in dirnames if not d.startswith(".")]
            for filename in filenames:
                if filename.endswith(".md"):
                    filepath = os.path.join(dirpath, filename)
                    content = MarkdownReader().load_data(Path(filepath))
                    docs.extend(content)
        return docs

    def load_langchain_documents(self, **load_kwargs: Any) -> List["LCDocument"]:
        """以LangChain文档格式加载数据。"""
        docs = self.load_data(**load_kwargs)
        return [d.to_langchain_format() for d in docs]

load_data #

load_data(*args: Any, **load_kwargs: Any) -> List[Document]

从输入目录加载数据。

Source code in llama_index/readers/obsidian/base.py
30
31
32
33
34
35
36
37
38
39
40
def load_data(self, *args: Any, **load_kwargs: Any) -> List[Document]:
    """从输入目录加载数据。"""
    docs: List[Document] = []
    for dirpath, dirnames, filenames in os.walk(self.input_dir):
        dirnames[:] = [d for d in dirnames if not d.startswith(".")]
        for filename in filenames:
            if filename.endswith(".md"):
                filepath = os.path.join(dirpath, filename)
                content = MarkdownReader().load_data(Path(filepath))
                docs.extend(content)
    return docs

load_langchain_documents #

load_langchain_documents(
    **load_kwargs: Any,
) -> List[Document]

以LangChain文档格式加载数据。

Source code in llama_index/readers/obsidian/base.py
42
43
44
45
def load_langchain_documents(self, **load_kwargs: Any) -> List["LCDocument"]:
    """以LangChain文档格式加载数据。"""
    docs = self.load_data(**load_kwargs)
    return [d.to_langchain_format() for d in docs]