Documind:开源 AI 文档处理工具,将 PDF 转换为图像提取结构化数据

简介: Documind 是一款利用 AI 技术从 PDF 中提取结构化数据的先进文档处理工具,支持灵活的本地或云端部署。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  • 功能:将 PDF 转换为图像,使用 OpenAI API 提取和结构化信息。
  • 灵活性:支持本地或云环境部署,用户可自定义提取模式。
  • 应用场景:适用于财务审计、法律文档处理、医疗记录管理和保险索赔处理等多种场景。

正文(附运行示例)

Documind 是什么

documind.png

Documind 是一款开源的 AI 文档处理工具,用于从 PDF 文档中提取结构化数据。它通过将 PDF 文件转换为图像,利用 OpenAI API 进行信息提取,并根据用户定义的模式格式化输出结果。Documind 支持在本地或云环境中灵活部署,适用于多种文档格式的数据处理。

用户可以通过定义提取模式(schema),指定从文档中提取哪些信息。Documind 会根据这些模式从文档中提取相应数据,并将其格式化为结构化格式。

Documind 的主要功能

  • PDF 到图像的转换:将 PDF 文件转换为图像,以便进行更详细的 AI 处理。
  • 信息提取:利用 OpenAI 的 API 识别和提取 PDF 中的文本信息。
  • 自定义提取模式:用户定义特定的提取模式(schema),指定从文档中提取哪些信息。
  • 结果格式化:根据用户定义的模式,将提取的数据格式化为结构化格式。
  • 灵活部署:支持在本地或云环境中部署,适应不同的使用场景。

Documind 的技术原理

  • 光学字符识别(OCR):用 OCR 技术将 PDF 中的图像或扫描文档转换为机器可读的文本。
  • 自然语言处理(NLP):用 NLP 技术理解并分析文本内容,识别关键信息。
  • 机器学习:机器学习模型识别文档中的模式和结构,提高信息提取的准确性。
  • API 集成:集成 OpenAI 等第三方 API,利用先进的 AI 技术增强信息提取和处理能力。

如何运行 Documind

系统依赖

在使用 Documind 之前,请确保安装了以下软件依赖:

系统依赖

  • Ghostscript:Documind 依赖于 Ghostscript 处理某些 PDF 操作。
  • GraphicsMagick:用于文档转换中的图像处理。

安装方法:

# 在 macOS 上
brew install ghostscript graphicsmagick

# 在 Debian/Ubuntu 上
sudo apt-get update
sudo apt-get install -y ghostscript graphicsmagick

Node.js & NPM

确保系统已安装 Node.js (v18+) 和 NPM。

安装 Documind

通过 npm 安装 Documind:

npm install documind

环境设置

Documind 需要一个 .env 文件来存储敏感信息,如 OpenAI API 密钥。在项目目录中创建一个 .env 文件,并添加以下内容:

OPENAI_API_KEY=your_openai_api_key

使用示例

1. 定义模式

模式是一个对象数组,每个对象定义要提取的信息字段。

例如,银行对账单的模式:

const schema = [
  {
    name: "accountNumber",
    type: "string",
    description: "银行对账单的账户号码",
  },
  {
    name: "openingBalance",
    type: "number",
    description: "账户的初始余额",
  },
  {
    name: "transactions",
    type: "array",
    description: "账户中的交易列表",
    children: [
      {
        name: "date",
        type: "string",
        description: "交易日期",
      },
      {
        name: "creditAmount",
        type: "number",
        description: "交易的贷方金额",
      },
      {
        name: "debitAmount",
        type: "number",
        description: "交易的借方金额",
      },
      {
        name: "description",
        type: "string",
        description: "交易描述",
      },
    ],
  },
  {
    name: "closingBalance",
    type: "number",
    description: "账户的最终余额",
  },
];

2. 运行 Documind

使用 Documind 处理 PDF 文件:

import { extract } from "documind";

const runExtraction = async () => {
  const result = await extract({
    file: "https://example.com/bank_statement.pdf",
    schema,
  });

  console.log("Extracted Data:", result);
};

runExtraction();

示例输出

提取的结果可能如下所示:

{
   
  "success": true,
  "pages": 1,
  "data": {
   
    "accountNumber": "100002345",
    "openingBalance": 3200,
    "transactions": [
      {
   
        "date": "2021-05-12",
        "creditAmount": null,
        "debitAmount": 100,
        "description": "转账给 Tom"
      },
      {
   
        "date": "2021-05-12",
        "creditAmount": 50,
        "debitAmount": null,
        "description": "前几天的午餐"
      },
      {
   
        "date": "2021-05-13",
        "creditAmount": 20,
        "debitAmount": null,
        "description": "优惠券退款"
      },
      {
   
        "date": "2021-05-13",
        "creditAmount": null,
        "debitAmount": 750,
        "description": "5月房租"
      }
    ],
    "closingBalance": 2420
  },
  "fileName": "bank_statement.pdf"
}

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
2月前
|
人工智能 中间件 数据库
沐曦 GPU 融入龙蜥,共筑开源 AI 基础设施新底座
沐曦自加入社区以来,一直与龙蜥社区在推动 AIDC OS 的开源社区建设等方面保持合作。
|
3月前
|
人工智能 安全 API
HiMarket 正式开源,为企业落地开箱即用的 AI 开放平台
我们发起 HiMarket 的初心:帮助用户从 80% 开始构建 AI 开放平台。
575 34
|
4月前
|
人工智能 算法 开发者
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
418 10
开源VLM“华山论剑”丨AI Insight Talk多模态专场直播预告
|
3月前
|
人工智能 运维 安全
|
2月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
4223 63
|
3月前
|
人工智能 云栖大会
|
人工智能 关系型数据库 MySQL
AI战略丨开源开放,构建 AI 时代的创新引擎
技术开源和产业开放彼此衔接、相互支撑,构建全产业链合作模式和无边界产业生态圈,日益成为数字时代全球分工体系的主流模式。

热门文章

最新文章