偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

RAG系列:解析優(yōu)化 - 使用 Doc2X 將 PDF 高效轉(zhuǎn)換為 Markdown

人工智能 開發(fā)
本文給大家再介紹了一款優(yōu)秀強(qiáng)大的文檔解析產(chǎn)品 - Doc2X,通過實(shí)踐表明 Doc2X 確實(shí)具有優(yōu)秀的表現(xiàn),可以作為大家在建設(shè)文檔解析系統(tǒng)的候選工具,也期望通過我的介紹能給大家提供更多的選擇和思路。

引言

在構(gòu)建高質(zhì)量的企業(yè)級(jí)的智能問答系統(tǒng)的過程中,如何高效精準(zhǔn)地處理企業(yè)已有的海量文檔是大部分開發(fā)者亟待解決的核心痛點(diǎn)。有了高效精準(zhǔn)的文檔解析能力,才能夠構(gòu)建高質(zhì)量的知識(shí)庫和高效的信息檢索系統(tǒng),這樣 LLM 才能給用戶更準(zhǔn)確更全面的回答。

RAG系列(七):解析優(yōu)化 - 不同文件類型統(tǒng)一轉(zhuǎn)換成Markdown中我們介紹了一款開源的文檔解析工具 - MinerU,今天再給大家介紹一款優(yōu)秀強(qiáng)大的文檔解析產(chǎn)品 - Doc2X[1]。

Doc2X 簡介

Doc2X 是一款專為開發(fā)者設(shè)計(jì)的強(qiáng)大文檔解析產(chǎn)品。

Doc2X 提供 RESTful API 與 SDK 工具包,支持多種開發(fā)語言與框架,讓您輕松將文檔處理功能嵌入現(xiàn)有系統(tǒng),方便快捷地實(shí)現(xiàn)將 PDF、掃描件、圖片等多種格式的文檔精準(zhǔn)轉(zhuǎn)換為 Markdown、LaTeX、HTML、Word 等結(jié)構(gòu)化或半結(jié)構(gòu)化格式的能力。

官網(wǎng):https://noedgeai.com/

圖片

強(qiáng)大的功能特性

  • 市面上類似的文檔解析產(chǎn)品,絕大部分公式識(shí)別做的不好(尤其是行內(nèi)和復(fù)雜公式),而 Doc2X 則處于領(lǐng)先水平;
  • Doc2X 對(duì)表格識(shí)別適配優(yōu)秀,甚至支持識(shí)別表格里面的圖片和合并跨頁表格等;
  • Doc2X 對(duì)于多欄識(shí)別的閱讀順序還原效果優(yōu)異;
  • Doc2X 適配范圍廣相當(dāng)通用,涵蓋財(cái)研報(bào)、論文、教輔、專利等等;
  • 更具體的效果對(duì)比可以參考:Doc2x-v1 競品分析(mathpix、庖丁PDFlux、pix2text、合合信息TextIn、騰訊云大模型知識(shí)引擎文檔解析)[2]

圖片

友好的操作界面

當(dāng)然,除了提供了快速集成的 API 之外,Doc2X 還提供了友好的操作界面,可以讓你在頁面上快速完成文檔解析,解析完成之后可以對(duì)照著原文檔進(jìn)行編輯,確保準(zhǔn)確性。

無縫集成主流工具

Doc2X 已成功接入 FastGPT、CherryStudio、扣子(國內(nèi)版)等知名知識(shí)庫和 AI 應(yīng)用構(gòu)建平臺(tái)。開發(fā)者可以直接在這些平臺(tái)中利用 Doc2X 的強(qiáng)大解析能力,快速搭建和優(yōu)化自己的知識(shí)庫應(yīng)用。

圖片

Doc2X 解析效果

從 Doc2X 的解析結(jié)果來看,Doc2X PDF 轉(zhuǎn) Markdown 的整體效果是比較出色的,大家可以根據(jù)自己的文檔情況去試用看看效果。

我還是拿《2024少兒編程教育行業(yè)發(fā)展趨勢報(bào)告.pdf》這個(gè)文檔進(jìn)行解析,相比于 MinerU ,在以下幾方面 Doc2X 做的更出色:

1. 支持多級(jí)標(biāo)題的解析(MinerU 只支持一級(jí)標(biāo)題解析);

圖片

2. 表格識(shí)別能力比較強(qiáng),圖片中的表格基本準(zhǔn)確識(shí)別出來,而且基本沒有錯(cuò)位(MinerU 存在無法識(shí)別或表格錯(cuò)位問題);

圖片

3. 對(duì)于多欄識(shí)別的閱讀順序還原效果優(yōu)異(MinerU 對(duì)于多欄識(shí)別出現(xiàn)了混亂)。

圖片

Doc2X API 集成

Doc2X RESTful API 的 Base URL 是 https://v2.doc2x.noedgeai.com,API 調(diào)用流程如下:

圖片

Doc2X API 文檔[3]https://noedgeai.feishu.cn/wiki/Q8QIw3PT7i4QghkhPoecsmSCnG1

接口鑒權(quán)

首先需要獲取到 API Key(類似于sk-xxx),API Key 獲取網(wǎng)址:https://open.noedgeai.com/。

獲取之后,在 HTTP 請(qǐng)求頭加入:

Authorization: Bearer sk-xxx

文件預(yù)上傳

推薦使用該接口, 有更快的上傳速度,大文件上傳接口,文件大小<=1GB。

請(qǐng)求示例:

import json
import time
import requests as rq

base_url = "https://v2.doc2x.noedgeai.com"
secret = "sk-xxx"

def preupload():
    url = f"{base_url}/api/v2/parse/preupload"
    headers = {
        "Authorization": f"Bearer {secret}"
    }
    res = rq.post(url, headers=headers)
    if res.status_code == 200: 
        data = res.json()
        if data["code"] == "success":
            return data["data"]
        else:
            raise Exception(f"get preupload url failed: {data}")
    else:
        raise Exception(f"get preupload url failed: {res.text}")

upload_data = preupload()
print(upload_data)

返回示例:

{
    "code": "success",
    "data": {
        "uid": "0192d745-5776-7261-abbd-814df3af3449",
        "url": "https://doc2x-pdf.oss-cn-beijing.aliyuncs.com/tmp/0192d745-5776-7261-abbd-814df3af3449.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LTAI5tS7hV6uXXVzcpk3EGfX%2F20241029%2Fcn-beijing%2Fs3%2Faws4_request&X-Amz-Date=20241029T075458Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=f731ea8fe4efdd7c727c210034bdcf1a63436c74b295db68f9648efdce576a91"
    }
}

獲取到 url 之后,使用 HTTP PUT 方法上傳文件到返回結(jié)果中的 url 字段,然后使用/api/v2/parse/status 接口輪詢結(jié)果,使用的是阿里云的oss,具體速度取決于您的網(wǎng)速(海外用戶速度可能上傳失敗)。

import json
import time
import requests as rq

base_url = "https://v2.doc2x.noedgeai.com"
secret = "sk-xxx"

def put_file(path: str, url: str):
    withopen(path, "rb") as f:
        res = rq.put(url, data=f) # body為文件二進(jìn)制流
        if res.status_code != 200:
            raise Exception(f"put file failed: {res.text}")

defget_status(uid: str):
    url = f"{base_url}/api/v2/parse/status?uid={uid}"
    headers = {
        "Authorization": f"Bearer {secret}"
    }
    res = rq.get(url, headers=headers)
    if res.status_code == 200:
        data = res.json()
        if data["code"] == "success":
            return data["data"]
        else:
            raise Exception(f"get status failed: {data}")
    else:
        raise Exception(f"get status failed: {res.text}")

url = upload_data["url"]
uid = upload_data["uid"]

put_file("test.pdf", url)

whileTrue:
    status_data = get_status(uid)
    print(status_data)
    if status_data["status"] == "success":
        result = status_data["result"]
        withopen("result.json", "w") as f:
            json.dump(result, f)
        break
    elif status_data["status"] == "failed":
        detail = status_data["detail"]
        raise Exception(f"parse failed: {detail}")
    elif status_data["status"] == "processing":
        # processing
        progress = status_data["progress"]
        print(f"progress: {progress}")
        time.sleep(3)

文件預(yù)上傳流程圖如下:

圖片

請(qǐng)求導(dǎo)出文件

通過/api/v2/parse/status 接口輪詢結(jié)果完成之后,需要通過 /api/v2/convert/parse接口觸發(fā)導(dǎo)出文件任務(wù)。

請(qǐng)求示例:

import requests
import json

url = "https://v2.doc2x.noedgeai.com/api/v2/convert/parse"
headers = {
    "Authorization": "Bearer sk-xxx",
    "Content-Type": "application/json",
}

data = {
    "uid": "01920000-0000-0000-0000-000000000000",
    "to": "md",
    "formula_mode": "normal",
    "filename": "my_markdown.md",
}

response = requests.post(url, headers=headers, data=json.dumps(data))

print(response.text)

返回示例:

// 進(jìn)行中
{
    "code": "success",
    "data": {
        "status": "processing",
        "url": ""
    }
}

導(dǎo)出獲取結(jié)果

通過/api/v2/convert/parse接口觸發(fā)導(dǎo)出文件任務(wù)后,需要通過/api/v2/convert/parse/result接口輪詢導(dǎo)出文件任務(wù)狀態(tài),成功之后會(huì)返回文件 URL。

請(qǐng)求示例:

import requests

url = 'https://v2.doc2x.noedgeai.com/api/v2/convert/parse/result?uid=01920000-0000-0000-0000-000000000000'
headers = {'Authorization': 'Bearer sk-xxx'}

response = requests.get(url, headers=headers)

print(response.text)

返回示例:

{
    "code":"success",
    "data":{
        "status":"success",
        "url":"https://doc2x-backend.s3.cn-north-1.amazonaws.com.cn/objects/01927a3a-eeb0-74f6-a539-ca35916b772e5/convert_tex_none.zip?X-Amz-Algorithm=AWS4-HMACSHA256&X-Amz-Credential=AKIATKXFISLI52PK3HTP%2F20241011%2Fcn-north-1%2Fs3%2Faws4request&X-Amz-Date=20241011075617Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&&x-id=GetobjectX-Amz-Signature=05bdd04a668e9924c5fd361999728cee35aaefb2087334a403f6ebf5ba93f786f"
    }
}

下載文件

/api/v2/convert/parse/result接口獲得文件 URL 后就可以通過 HTTP GET 方法請(qǐng)求 URL 來下載文件。

請(qǐng)求示例:

import requests

response = requests.get("https://doc2x-backend.s3.cn-north-1.amazonaws.com.cn/objects/01927a3a-eeb0-74f6-a539-ca35916b772e5/convert_tex_none.zip?X-Amz-Algorithm=AWS4-HMACSHA256&X-Amz-Credential=AKIATKXFISLI52PK3HTP%2F20241011%2Fcn-north-1%2Fs3%2Faws4request&X-Amz-Date=20241011075617Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&&x-id=GetobjectX-Amz-Signature=05bdd04a668e9924c5fd361999728cee35aaefb2087334a403f6ebf5ba93f786f")

with open('downloaded_file.zip', 'wb') as f:
    f.write(response.content)

結(jié)語

本文給大家再介紹了一款優(yōu)秀強(qiáng)大的文檔解析產(chǎn)品 - Doc2X,通過實(shí)踐表明 Doc2X 確實(shí)具有優(yōu)秀的表現(xiàn),可以作為大家在建設(shè)文檔解析系統(tǒng)的候選工具,也期望通過我的介紹能給大家提供更多的選擇和思路。

引用鏈接

[1] Doc2X: https://noedgeai.com/

[2] Doc2x-v1 競品分析(mathpix、庖丁PDFlux、pix2text、合合信息TextIn、騰訊云大模型知識(shí)引擎文檔解析): https://noedgeai.feishu.cn/wiki/K1NGwjuuqiI9nukgapEcUAALnLh?from=from_copylink

[3] Doc2X API 文檔: https://noedgeai.feishu.cn/wiki/Q8QIw3PT7i4QghkhPoecsmSCnG1

責(zé)任編輯:龐桂玉 來源: 燃哥講AI
相關(guān)推薦

2025-06-03 08:50:24

RAGMarkdown

2019-07-30 10:51:45

Markdown格式化文檔Linux

2025-06-10 04:30:00

2021-10-29 15:13:21

LinuxPDF文件

2009-07-29 10:24:52

HTM轉(zhuǎn)換為PDF

2021-09-04 17:26:31

SpringBoot轉(zhuǎn)換器參數(shù)

2023-05-05 00:19:22

2023-08-25 14:47:56

TransFLACFLAC

2009-12-03 16:30:24

PHP代碼解析損耗

2018-12-03 12:48:18

MDwikiMarkdownHTML

2025-06-24 09:51:10

2024-02-05 14:12:37

大模型RAG架構(gòu)

2022-11-01 16:20:56

Java圖像文件圖像文件類型

2024-09-19 09:12:50

RAG系統(tǒng)技術(shù)

2009-07-15 16:56:59

Jython類型Java類型

2023-08-26 16:06:10

COBOLJava數(shù)據(jù)

2010-05-19 16:31:09

IBM System

2010-08-03 16:54:10

DB2 9.5

2014-05-04 12:51:21

Javascript編譯器

2017-05-25 15:14:36

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)