marieai/marie-ai
GitHub: marieai/marie-ai
一个基于代理架构的企业级文档智能平台,通过编排多模态 AI 代理实现从非结构化文档中自动提取结构化信息的端到端流程。
Stars: 84 | Forks: 12
```
██████ ██████ █████████ ███████████ █████ ██████████ █████████ █████ /\ /\
░░██████ ██████ ███░░░░░███ ░░███░░░░░███ ░░███ ░░███░░░░░█ ███░░░░░███ ░░███ //\\_//\\ ____
░███░█████░███ ░███ ░███ ░███ ░███ ░███ ░███ █ ░ ░███ ░███ ░███ \_ _/ / /
░███░░███ ░███ ░███████████ ░██████████ ░███ ░██████ ██████████ ░███████████ ░███ / * * \ /^^^]
░███ ░░░ ░███ ░███░░░░░███ ░███░░░░░███ ░███ ░███░░█ ░░░░░░░░░░ ░███░░░░░███ ░███ \_\O/_/ [ ]
░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░ █ ░███ ░███ ░███ / \_ [ /
█████ █████ █████ █████ █████ █████ █████ ██████████ █████ █████ █████ \ \_ / /
░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░░░░░░░░ ░░░░░ ░░░░░ ░░░░░ [ [ / \/ _/
```
[](https://github.com/psf/black)
# Marie-AI
Marie-AI 是一个 **代理式文档智能平台** (Agentic Document Intelligence Platform)。它编排了一个由自主、专业化 AI 代理组成的网络——每个代理负责 OCR、分类、NER 和文档转换等任务——为现代企业需求提供稳健、可扩展且可扩展的文档理解能力。
## 🚀 快速开始
欲体验 Marie-AI 的最快方式,请参阅我们的 [快速入门指南](./bootstrap.md)。
## 编排智能
Marie-AI 利用代理式设计来实现:
- **自主代理:** 模块化执行器充当代理,每个代理都有明确的职责。
- **可组合工作流:** 根据您的目标编排代理并进行动态路由。
- **可扩展与模块化:** 轻松添加、交换或自定义代理以适应新工作流。
- **目标驱动的自动化:** 使用高级目标指令 Marie-AI,让代理处理执行细节。
## 🚀 功能特性
- **基于代理的架构:** 用于 OCR、分类、NER、转换等的模块化执行器/代理。
- **端到端自动化:** 从摄取到提取和交付,只需极少的人工干预。
- **作业调度与 SLA:** 高级作业编排,支持 **软性和硬性服务等级协议 (SLA)**。
- **DAG 驱动执行:** 工作流和作业作为有向无环图 (DAG) 进行管理,实现依赖感知、并行和容错的执行。
- **灵活部署:** 可作为 Python 包、Docker 容器或独立服务使用。
- **CLI 实用程序:** `marie` 命令行工具,用于简化本地或远程处理。
- **生产强化:** 稳健的发布/版本控制、CI/CD、可观测性和遥测。
## 🏥 现实世界应用:从非结构化数据中提取文档
Marie-AI 擅长从各行各业的非结构化或半结构化文档中提取结构化信息,包括:
- **医疗保健:** 从表格、医疗记录和化验报告中提取患者数据、临床发现和保险详细信息。
- **法律:** 解析合同、协议和案例文档,用于实体提取、条款识别和合规性检查。
- **房地产:** 数字化并从契约、租赁协议、抵押表格和评估书中提取字段。
- **金融:** 自动从发票、收据、KYC 文档和银行对账单中提取信息。
- **政府/教育:** 大规模处理申请、证书和官方记录。
无论您的数据存在于扫描件、PDF 还是复杂的文档批次中,Marie-AI 的代理式管道都会自动化端到端流程:OCR、分类、实体提取、表格/表单检测和自定义业务逻辑。
## 🔗 模型支持与 LLM 集成
Marie-AI 与多种语言模型无缝协作:
- **开箱即用的 LLM:** 即时连接到最先进的模型,如 GPT、T5、BERT 等,以实现快速设置和广泛的泛化能力。
- **微调/自定义 LLM:** 轻松集成您自己或第三方的微调模型,以实现特定领域的提取、推理和合规性——非常适合医疗、法律、房地产等领域的专业用例。
- **即插即用架构:** 在单个工作流中交换模型或编排由不同 LLM 驱动的多个代理,确保随着您的需求和 LLM 格局的发展保持灵活性。
借助 Marie-AI,您的文档智能管道可以适应大语言模型的最新进展——无论您需要通用的理解还是高度专业化、合规的提取。
## ⏱️ 作业调度、SLA 和 DAG
Marie-AI 包含一个生产级的作业调度子系统,用于大规模管理和编排文档处理工作流。
- **作业调度器:** 调度、入队和监控作业,支持立即或延迟执行。
- **SLA 管理:** 为每个作业或工作流定义 **软性** 和 **硬性** SLA,确保截止日期驱动的执行以及自动升级或重试。
- **DAG 工作流:** 作业作为 **有向无环图 (DAG)** 执行,允许复杂的依赖管理、并行步骤执行和稳健的错误处理。DAG 中的每个节点都可以代表一个代理或处理步骤。
- **策略与重试:** 对作业策略、优先级、退避策略和重试进行细粒度控制。
- **监控:** 对所有作业和 DAG 的实时状态跟踪,并提供 SQL 和 API 接口以查询作业状态、日志和历史记录。
## 📚 文档
完整指南和高级用法请参阅 [**docs.marieai.co**](https://docs.marieai.co)。
## 💾 安装
**通过 PyPI 安装稳定版:**
```
pip install --upgrade marieai
```
**从源码安装:**
```
pip install -e .
```
**Docker:**
```
DOCKER_BUILDKIT=1 docker build . --build-arg PIP_TAG="standard" -f ./Dockerfiles/gpu.Dockerfile -t marieai/marie:3.0-cuda
```
或拉取官方镜像:
```
docker pull marieai/marie:latest
```
## 🛠️ 快速开始
使用默认入口点运行:
```
docker run --rm -it marieai/marie:3.0.19-cuda
```
使用自定义入口点运行服务器:
```
docker run --rm -it --entrypoint /bin/bash marieai/marie:3.0.30-cuda
marie server --start --uses sample.yml
```
## 🖥️ 命令行界面
从您的终端与 API 交互:
```
marie -h
```
## 🔥 示例用例
- 自主文档清理和 OCR
- 代理驱动的文档分类和拆分
- 作为代理的命名实体识别 (NER)
- 表单和表格检测
- 自定义代理管道组合
完整代码示例和高级场景请参阅 [MarieAI 文档](https://docs.marieai.co)。
## 🔄 发布与版本控制
Marie 通过 PyPI 和 Docker Hub 发布。有关版本控制、发布周期和手动发布工作流的详细信息,请参阅 [RELEASE.md](RELEASE.md)。
## 📝 贡献
我们欢迎贡献!有关编码标准、命名约定以及如何开始的详细信息,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。请针对错误、功能请求或文档改进提交 issue 或 pull request。
## 📰 更新日志
有关最近的更改和新功能的摘要,请参阅 [CHANGELOG.md](CHANGELOG.md)。
## 📄 许可证
Marie-AI 采用 [Apache 2.0 许可证](LICENSE)。
## 🙏 致谢
本项目使用并基于许多开源组件构建。详情请参阅 [NOTICE](NOTICE)。
标签:C2, ETL, GenAI, JavaCC, LLM, NER, OCR, Python, RAG, Unmanaged PE, Vectored Exception Handling, VLLM, 人工智能, 信息抽取, 光学字符识别, 命名实体识别, 多线程, 大数据, 数据清洗, 文档分类, 文档处理, 文档解析, 无后门, 深度学习, 用户模式Hook绕过, 目录扫描, 编排框架, 网络调试, 自动化, 表单处理, 表格提取, 计算机视觉, 请求拦截, 逆向工具, 非结构化数据