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