LangChain之文档jia za加载

simon
2
2025-10-16
1. DirectoryLoader:用于从目录中加载所有文档。
from langchain_community.document_loaders import DirectoryLoader
loader = DirectoryLoader('../', glob="**/*.md")
docs = loader.load()
print(len(docs))

这个示例展示了如何加载目录下所有.md文件。

2. TextLoader:用于加载.txt文件。
from langchain_community.document_loaders import TextLoader
loader = TextLoader("example_data/layout-parser-paper.txt")
data = loader.load()

这个示例展示了如何加载一个.txt文件。

3. CSVLoader:用于加载.csv文件。
from langchain_community.document_loaders import CSVLoader
loader = CSVLoader("example_data/example.csv")
data = loader.load()

这个示例展示了如何加载一个.csv文件。

4. PyPDFLoader:用于加载.pdf文件。
from langchain_community.document_loaders import PyPDFLoader
loader = PyPDFLoader("example_data/example.pdf")
data = loader.load()

这个示例展示了如何加载一个.pdf文件。

5. UnstructuredWordDocumentLoader:用于加载.doc.docx文件。
from langchain_community.document_loaders import UnstructuredWordDocumentLoader
loader = UnstructuredWordDocumentLoader("example_data/layout-parser-paper.doc")
data = loader.load()

这个示例展示了如何加载一个.doc.docx文件。

6. CustomDocumentLoader:创建自定义文档加载器。
from langchain_core.document_loaders import BaseLoader
from langchain_core.documents import Document

class CustomDocumentLoader(BaseLoader):
    def __init__(self, file_path: str) -> None:
        self.file_path = file_path
    def lazy_load(self) -> Iterator[Document]:
        with open(self.file_path, encoding="utf-8") as f:
            line_number = 0
            for line in f:
                yield Document(
                    page_content=line,
                    metadata={"line_number": line_number, "source": self.file_path},
                )
                line_number += 1

动物装饰