MegaParse 项目介绍
MegaParse 是一个强大且多功能的解析器,能够轻松处理各种类型的文档。不论是处理文本、PDF、Powerpoint 演示文稿,还是 Word 文档,MegaParse 都能轻松胜任,力求在解析过程中不丢失任何信息。
项目特色
- 多功能解析器:MegaParse 是一个强大且多功能的解析器,能够轻松处理各种类型的文档。
- 信息无损失:聚焦于在解析过程中不丢失任何信息。
- 快速高效:设计时就考虑到了速度和效率。
- 文件兼容性广泛:支持文本、PDF、Powerpoint 演示文稿、Excel、CSV 和 Word 文档。
- 开源项目:自由是美丽的,MegaParse 同样如此。完全开源,免费使用。
支持的文件与内容
- 文件类型支持:PDF、Powerpoint、Word
- 内容支持:表格、目录(TOC)、页眉、页脚、图像
如何安装
要安装 MegaParse,只需运行以下命令:
pip install megaparse
使用指南
- 将您的 OpenAI 或 Anthropic API 密钥添加到
.env
文件中。 - 在您的计算机上安装 poppler(用于图像和 PDF)。
- 在您的计算机上安装 tesseract(用于图像和 PDF)。
- 如果您使用的是 Mac,还需要安装 libmagic:
brew install libmagic
示例代码如下:
from megaparse.core.megaparse import MegaParse
from langchain_openai import ChatOpenAI
from megaparse.core.parser.unstructured_parser import UnstructuredParser
model = ChatOpenAI(model="gpt-4o", api_key=os.getenv("OPENAI_API_KEY"))
parser = UnstructuredParser(model=model)
megaparse = MegaParse(parser)
response = megaparse.load("./test.pdf")
print(response)
megaparse.save("./test.md")
使用 MegaParse Vision
要使用 MegaParse Vision,只需更改解析器:
from megaparse.core.megaparse import MegaParse
from langchain_openai import ChatOpenAI
from megaparse.core.parser.megaparse_vision import MegaParseVision
model = ChatOpenAI(model="gpt-4o", api_key=os.getenv("OPENAI_API_KEY"))
parser = MegaParseVision(model=model)
megaparse = MegaParse(parser)
response = megaparse.load("./test.pdf")
print(response)
megaparse.save("./test.md")
注意:MegaParse Vision 支持的模型为多模态模型,例如 claude 3.5、claude 4、gpt-4o 和 gpt-4。
(可选)使用 LlamaParse 提升效果
- 在 Llama Cloud 创建账户并获取您的 API 密钥。
- 将解析器更改为 LlamaParser:
from megaparse.core.megaparse import MegaParse
from langchain_openai import ChatOpenAI
from megaparse.core.parser.llama import LlamaParser
parser = LlamaParser(api_key=os.getenv("LLAMA_CLOUD_API_KEY"))
megaparse = MegaParse(parser)
response = megaparse.load("./test.pdf")
print(response)
megaparse.save("./test.md")
作为 API 使用
项目根目录有 MakeFile 文件,你只需运行:
make dev
然后查看 localhost:8000/docs 以获取不同端点的更多信息!
性能基准
解析器 | 相似度比率 |
---|---|
megaparse_vision | 0.87 |
unstructured_with_check_table | 0.77 |
unstructured | 0.59 |
llama_parser | 0.33 |
(比率越高越好)
注意:如果您想评估和比较您自己的 Megaparse 模块与我们的模块,请将您的配置添加到 evaluations/script.py
中,然后运行 python evaluations/script.py
。如果效果更好,请做一个 PR,大家一起进步 🚀。
项目建设中
- 改进表格检查器
- 创建模块化后处理检查器
- 添加结构化输出,实现计算机自动交互
MegaParse 旨在为用户提供一站式的文档解析解决方案,成为您处理各种文档类型的必备工具。