Dedoc 与 LangChain 结合用作 DocumentLoader。
概览
Dedoc 是一个开源的库/服务,可从各种格式的文件中提取文本、表格、附加文件和文档结构(例如,标题、列表项等)。Dedoc 支持 DOCX、XLSX、PPTX、EML、HTML、PDF、图像等。支持格式的完整列表可以在这里找到。集成详情
| 类别 | 包 | 本地 | 可序列化 | JS 支持 |
|---|---|---|---|---|
| DedocFileLoader | langchain_community | ❌ | 测试版 | ❌ |
| DedocPDFLoader | langchain_community | ❌ | 测试版 | ❌ |
| DedocAPIFileLoader | langchain_community | ❌ | 测试版 | ❌ |
加载器功能
提供了懒加载和异步加载的方法,但实际上,文档加载是同步执行的。| 来源 | 文档延迟加载 | 异步支持 |
|---|---|---|
| DedocFileLoader | ❌ | ❌ |
| DedocPDFLoader | ❌ | ❌ |
| DedocAPIFileLoader | ❌ | ❌ |
设置
- 要访问
DedocFileLoader和DedocPDFLoader文档加载器,您需要安装dedoc集成包。 - 要访问
DedocAPIFileLoader,您需要运行Dedoc服务,例如Docker容器(更多详情请参阅文档)
Dedoc 的安装说明在这里。
实例化
加载
延迟加载
API 参考
有关配置和调用Dedoc 加载器的详细信息,请参阅 API 参考
- python.langchain.com/api_reference/community/document_loaders/langchain_community.document_loaders.dedoc.DedocFileLoader.html
- python.langchain.com/api_reference/community/document_loaders/langchain_community.document_loaders.pdf.DedocPDFLoader.html
- python.langchain.com/api_reference/community/document_loaders/langchain_community.document_loaders.dedoc.DedocAPIFileLoader.html
加载任何文件
要自动处理支持格式的任何文件,DedocFileLoader 会很有用。该文件加载器会自动检测具有正确扩展名的文件类型。 文件解析过程可以在 DedocFileLoader 类初始化期间通过 dedoc_kwargs进行配置。这里给出了部分选项用法的基本示例,有关配置参数的更多详细信息,请参阅 DedocFileLoader 的文档和dedoc 文档。基本示例
分割模式
DedocFileLoader 支持将文档分割成不同部分(每个部分单独返回)的多种类型。为此,split 参数与以下选项一起使用
document(默认值):文档文本作为单个 langchainDocument对象返回(不分割);page:将文档文本分割成页面(适用于PDF、DJVU、PPTX、PPT、ODP);node:将文档文本分割成Dedoc树节点(标题节点、列表项节点、纯文本节点);line:将文档文本分割成文本行。
处理表格
当在加载器初始化期间将with_tables 参数设置为 True 时(默认为 with_tables=True),DedocFileLoader 支持处理表格。 表格不会被分割——每个表格对应一个 langchain Document 对象。对于表格,Document 对象具有额外的 metadata 字段 type="table" 和带有表格 HTML 表示的 text_as_html。处理附加文件
当在加载器初始化期间将with_attachments 设置为 True 时(默认为 with_attachments=False),DedocFileLoader 支持处理附加文件。 附件会根据 split 参数进行分割。对于附件,langchain Document 对象有一个额外的元数据字段 type="attachment"。加载 PDF 文件
如果您只想处理PDF 文档,可以使用仅支持 PDF 的 DedocPDFLoader。该加载器支持用于文档分割、表格和附件提取的相同参数。 Dedoc 可以提取带或不带文本层的 PDF,并能自动检测其存在和正确性。有几种 PDF 处理程序可用,您可以使用 pdf_with_text_layer 参数选择其中之一。请参阅参数说明以获取更多详细信息。 对于没有文本层的 PDF,应安装 Tesseract OCR 及其语言包。在这种情况下,此说明可能会有用。Dedoc API
如果您想以更少的设置快速启动和运行,可以将Dedoc 作为服务使用。DedocAPIFileLoader 无需安装 dedoc 库即可使用。 该加载器支持与 DedocFileLoader 相同的参数,并能自动检测输入文件类型。 要使用 DedocAPIFileLoader,您应该运行 Dedoc 服务,例如 Docker 容器(请参阅文档以获取更多详细信息):https://dedoc-readme.hf.space。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。