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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
.cn 域名,1个 12个月
简介: 文档智能服务-文档解析

文档智能(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://example.com/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](http://docmind-api-pre-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/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.处理速度与实时性:尽管电子文档解析速度快,但复杂文档的智能解析可能较为耗时,对于需要即时反馈的应用场景,如何进一步提升处理速度是一个挑战。
针对成本敏感型客户、实时处理需求、用户友好性及定制化需求方面,仍有提升空间。

相关文章
|
1月前
|
人工智能 自然语言处理 机器人
文档智能与RAG技术如何提升AI大模型的业务理解能力
随着人工智能的发展,AI大模型在自然语言处理中的应用日益广泛。文档智能和检索增强生成(RAG)技术的兴起,为模型更好地理解和适应特定业务场景提供了新方案。文档智能通过自动化提取和分析非结构化文档中的信息,提高工作效率和准确性。RAG结合检索机制和生成模型,利用外部知识库提高生成内容的相关性和准确性。两者的结合进一步增强了AI大模型的业务理解能力,助力企业数字化转型。
101 3
|
1月前
|
人工智能 JSON API
阿里云文档智能 & RAG解决方案:提升AI大模型业务理解与应用
阿里云推出的文档智能 & RAG解决方案,旨在通过先进的文档解析技术和检索增强生成(RAG)方法,显著提升人工智能大模型在业务场景中的应用效果。该方案通过文档智能(Document Mind)技术将非结构化文档内容转换为结构化数据,提取文档的层级树、样式和版面信息,并输出为Markdown和Json格式,为RAG提供语义分块策略。这一过程不仅解决了文档内容解析错误和切块丢失语义信息的问题,还优化了输出LLM友好的Markdown信息。方案的优势在于其多格式支持能力,能够处理包括Office文档、PDF、Html、图片在内的主流文件类型,返回文档的样式、版面信息和层级树结构。
124 2
|
2月前
|
机器学习/深度学习 数据采集 人工智能
文档智能 & RAG 让AI大模型更懂业务 —— 阿里云LLM知识库解决方案评测
随着数字化转型的深入,企业对文档管理和知识提取的需求日益增长。阿里云推出的文档智能 & RAG(Retrieval-Augmented Generation)解决方案,通过高效的内容清洗、向量化处理、精准的问答召回和灵活的Prompt设计,帮助企业构建强大的LLM知识库,显著提升企业级文档管理的效率和准确性。
|
9天前
|
人工智能 安全 数据安全/隐私保护
文档智能 & RAG让AI大模型更懂业务测评
文档智能 & RAG让AI大模型更懂业务
128 73
|
16天前
|
人工智能
解决方案 | 文档智能 & RAG让AI大模型更懂业务获奖名单公布!
解决方案 | 文档智能 & RAG让AI大模型更懂业务获奖名单公布!
|
2月前
|
自然语言处理 数据可视化 前端开发
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
合合信息的智能文档处理“百宝箱”涵盖文档解析、向量化模型、测评工具等,解决了复杂文档解析、大模型问答幻觉、文档解析效果评估、知识库搭建、多语言文档翻译等问题。通过可视化解析工具 TextIn ParseX、向量化模型 acge-embedding 和文档解析测评工具 markdown_tester,百宝箱提升了文档处理的效率和精确度,适用于多种文档格式和语言环境,助力企业实现高效的信息管理和业务支持。
4068 5
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
|
1月前
|
人工智能 JSON 自然语言处理
基于文档智能&RAG搭建更懂业务的AI大模型
本文介绍了一种结合文档智能和检索增强生成(RAG)技术,构建强大LLM知识库的方法。通过清洗文档内容、向量化处理和特定Prompt,提供足够的上下文信息,实现对企业级文档的智能问答。文档智能(Document Mind)能够高效解析多种文档格式,确保语义的连贯性和准确性。整个部署过程简单快捷,适合处理复杂的企业文档,提升信息提取和利用效率。
|
1月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
1月前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
2月前
|
人工智能 自然语言处理 数据挖掘
文档智能 & RAG让AI大模型更懂业务
《文档智能 & RAG让AI大模型更懂业务》解决方案基于阿里云的文档智能解析与检索增强生成技术,实现非结构化文档向结构化信息的转化,提升AI在特定领域问答的能力。方案提供了详尽的部署指南,包括文档处理、知识库构建等步骤,确保新手也能轻松上手。部署体验良好,未遇重大问题,但建议增加故障排除指南。体验中,LLM知识库展现出高准确率和响应速度,尤其适合处理专业查询。该方案适用于客户服务、知识管理和数据分析等场景,满足生产环境需求,但对于小型企业需考虑成本效益。建议阿里云提供多规模解决方案及定制化选项,以适应不同需求。
83 10

推荐镜像

更多