AI搜尋開放平台支援通過API的方式調用文檔解析服務,您可以將服務整合到您的業務處理鏈路中,將非結構化資料解析為結構化資料並應用於業務。
服務名稱 | 服務ID | 服務描述 | API調用QPS限制(含主帳號與RAM子帳號) |
文檔解析服務 | ops-document-analyze-001 | 支援從非結構化文檔中提取出標題、分段等邏輯層級結構,以及文本、表格、圖片等資訊,並以結構化的格式輸出。 支援的文件類型:txt、pdf、html、doc、docx、ppt、pptx。 | 10 說明 如需擴充QPS,請通過工單聯絡支援人員協助。 |
ops-document-analyze-002 | 提供pdf、圖片等多種非結構化文檔格式的解析,對複雜元素(表格、公式和圖表等)的識別方面出色,且具備較快的推理速度。 |
前提條件
擷取身份鑒權資訊
通過API調用AI搜尋開放平台服務時,需要對調用者身份進行鑒權,如何擷取鑒權資訊請參見擷取API-KEY。
擷取服務調用地址
支援通過公網和VPC兩種方式調用服務,詳情請參見擷取服務接入地址。
公用說明
請求body最大不能超過8MB。
概述
文檔內容解析提供了同步、非同步兩類介面。同步介面因存在HTTP逾時風險,不建議生產環境中使用,可用於調試介面。生產環境建議使用非同步介面,共分為兩步,首先通過建立非同步提取任務拿到task_id,然後調用擷取非同步任務介面不斷查詢狀態直至任務完成。
建立非同步提取任務
請求方式
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/document-analyze/{service_id}/asynchost:調用服務的地址,支援通過公網和VPC兩種方式調用API服務,可參見擷取服務接入地址。

workspace_name:工作空間名稱,例如default。
service_id: 系統內建服務id,例如ops-document-analyze-001。
請求參數
Header參數
API-KEY認證
參數 | 類型 | 必填 | 描述 | 樣本值 |
Content-Type | String | 是 | 請求類型:application/json | application/json |
Authorization | String | 是 | API-Key | Bearer OS-d1**2a |
Body參數
參數 | 類型 | 必填 | 描述 | 樣本值 |
service_id | String | 是 | 系統內建服務ID。 | ops-document-analyze-001 |
document.url | String | 否 | 文檔URL地址,支援HTTP、HTTPS協議(保證可以外網無狀態下載) 與document.content二選一即可。 | http://opensearch-shanghai.oss-cn-shanghai.aliyuncs.com/chatos/***/file-parser/samples/GB10767.pdf |
document.content | String | 否 | 文檔內容,用Base64Encode編碼 與document.url二選一即可。 | "aGVsbG8gd29ybGQ=" |
document.file_name | String | 否 | 文檔名稱,如果為空白通過URL推斷,如果URL也為空白,則需要顯式指定。 | test.pdf |
document.file_type | String | 否 | 文件類型,如果為空白從file_name的尾碼推斷,如果無法推斷需要顯式指定。 支援的文件類型:txt、pdf、html、doc、docx、ppt、pptx。 | |
output.image_storage | String | 否 | 圖片儲存方式
| url |
strategy.enable_semantic | Boolean | 否 | 針對txt文檔、層級結構不明顯的文檔,是否在解析過程中啟用基於語義理解的層級結構提取功能:
| false |
如下圖中的文檔目錄與本文沒有明顯區分,在開啟該功能後,返回結果中層級結構更加準確。

未開啟語義結果提取功能:

開啟語義結果提取功能後,可以看到開啟後返回的結果層級結構更加準確(截圖中的“##”表示識別出的二級目錄)。
說明usage.semantic_token_count有傳回值表示語義結構提取成功,則收取此計費項目產生的Token費用,若無傳回值則表示語義提取未成功,則不涉及此計費項目。
您可參照以下表格預估開啟語義結果提取後的用時及產生的語義Token數。
PDF頁數 | Token | 未開啟語義層級結構提取 | 開啟語義層級結構提取 | |
耗時(秒) | 耗時(秒) | 語義Token | ||
7 | 11504 | 2 | 49 | 36243 |
25 | 10375 | 1 | 33 | 59332 |
42 | 41435 | 5 | 68 | 130717 |
返回參數
參數 | 類型 | 描述 | 樣本值 |
result.task_id | String | 文檔解析非同步任務ID。 | d5a4019e-853a-****-b5b6-8053d9f5a9fc |
Curl請求樣本
curl --location 'http://****shanghai.opensearch.aliyuncs.com/v3/openapi/workspaces/default/document-analyze/ops-document-analyze-001/async/' \
--header 'Authorization: Bearer 您的API Key' \
--header 'Content-Type: application/json' \
--data '{
"document":{
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241018/jahnyn/%E8%A7%A3%E6%9E%90%E6%B5%8B%E8%AF%95.doc"
},
"output" :{
"image_storage":"base64"
},
"strategy": {
"enable_semantic":true
}
}'響應樣本
正常響應樣本
{
"request_id": "D5A4019E-853A-4E20-****-8053D9F5A9FC",
"latency": 5.0,
"http_code": 200,
"result": {
"task_id": "d5a4019e-853a-****-b5b6-8053d9f5a9fc"
}
}異常響應樣本
在訪問請求出錯的情況下,輸出的結果中會通過code和message指明出錯原因。
{
"request_id": "590A7EB8-AA84-****-AF31-8C35DC965972",
"latency": 0.0,
"code": "InvalidParameter",
"http_code": 400,
"message": "document.file_name required"
}擷取非同步提取任務
請求方式
GET
URL
{host}/v3/openapi/workspaces/{workspace_name}/document-analyze/{service_id}/async/task-status?task_id=${task_id}host:調用服務的地址,支援通過公網和VPC兩種方式調用API服務,可參見擷取服務接入地址。
workspace_name:工作空間名稱,例如default。
service_id: 系統內建服務id,例如ops-document-analyze-001。
task_id:建立文檔解析響應中返回的非同步任務 ID,例如d5a4019e-853a-****-b5b6-8053d9f5a9fc。
請求參數
Header參數
API-KEY認證
參數 | 類型 | 必填 | 描述 | 樣本值 |
Content-Type | String | 是 | 請求類型:application/json | application/json |
Authorization | String | 是 | API-Key | Bearer OS-d1**2a |
返回參數
參數 | 類型 | 描述 | 樣本值 |
result.task_id | String | 文檔解析非同步任務ID。 | 24c3ad59-****-40cf-974b-b63d63e0571 |
result.status | String | 任務狀態:
| PENDING |
result.error | String | status=FAIL時的錯誤資訊內容,正常情況為空白。 | 文檔解密失敗 |
result.data | Object | 文檔解析的結果。 | markdown |
result.data.content | String | 文檔解析結果-文檔內容
| "XXX" |
result.data.content_type | String | 文檔解析結果-內容格式
| markdown |
result.data.page_num | Int | 文檔解析結果-文檔頁數。 | 15 |
request_id | String | 系統對一次API調用賦予的唯一標識。 | B4AB89C8-B135-****-A6F8-2BAB8018688 |
latency | Float/Int | 請求耗時,單位ms。 | 10 |
usage | Object | 本次調用產生的計量資訊。 | "usage": { "token_count": 123, "table_count": 5, "image_count": 6, "semantic_token_count":3068 } |
usage.token_count | Int | 文檔中字元個數。 | 1234 |
usage.table_count | Int | 文檔中表格個數。 | 5 |
usage.image_count | Int | 文檔中圖片個數。 | 6 |
usage.semantic_token_count | Int | 語義提模數型輸入字元個數。 | 3068 |
Curl請求樣本
curl -XGET -H"Content-Type: application/json"
"http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/document-analyze/ops-document-analyze-001/async/task-status?task_id=110d6349-2e51-****-8bfb-25e5de434686"
-H "Authorization: Bearer 您的API-KEY"響應樣本
正常響應樣本
{
"request_id": "27F9CEC3-9052-****-83FF-E7957B680492",
"latency": 13.0,
"http_code": 200,
"result": {
"status": "SUCCESS",
"data": {
"content": "Provided proper attribution is provided, Alibaba hereby grants permission to reproduce the tables and figures in this paper solely for use in journalistic or scholarly works....",
"content_type": "markdown",
"page_num": 15
},
"task_id": "24c3ad59-b196-****-974b-b63d63e05895"
},
"usage": {
"token_count": 31867,
"table_count": 4,
"image_count": 8,
"semantic_token_count":3068
}
}異常響應樣本
在訪問請求出錯的情況下,輸出的結果中會通過code和message指明出錯原因。
{
"request_id": "0F94BD89-989C-****-963C-6E4F3FF99445",
"latency": 3.0,
"code": "BadRequest.TaskNotExist",
"http_code": 404,
"message": "task[2fda34f5-40b4-****-a9a2-3e2c1e807361] not exist"
}建立同步提取任務
同步介面因存在HTTP逾時風險,不建議生產環境中使用,可用於調試介面。
請求方式
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/document-analyze/{service_id}/sync參數說明
host:調用服務的地址,支援通過公網和VPC兩種方式調用API服務,可參見擷取服務接入地址。
workspace_name:工作空間名稱,例如default。
service_id: 系統內建服務id,例如ops-document-analyze-001。
請求參數
Header參數
API-KEY認證
參數 | 類型 | 必填 | 描述 | 樣本值 |
Content-Type | String | 是 | 請求類型:application/json | application/json |
Authorization | String | 是 | API-Key | Bearer OS-d1**2a |
Body參數
參數 | 類型 | 必填 | 描述 | 樣本值 |
document.url | String | 否 | 文檔URL地址,支援HTTP、HTTPS協議(保證可以外網無狀態下載) 與document.content二選一即可。 | http://opensearch-shanghai.oss-cn-shanghai.aliyuncs.com/chatos/***/file-parser/samples/GB10767.pdf |
document.content | String | 否 | 文檔內容,用Base64Encode編碼 與document.url二選一即可。 | "aGVsbG8gd29ybGQ=" |
document.file_name | String | 否 | 文檔名稱,如果為空白從URL推斷,如果URL為空白需要顯式指定。 | test.pdf |
document.file_type | String | 否 | 文件類型,如果為空白從file_name的尾碼推斷,如果無法推斷需要顯式指定。 支援的文件類型:txt、pdf、html、doc、docx、ppt、pptx。 | |
output.image_storage | String | 否 | 圖片儲存方式
| url |
strategy.enable_semantic | Boolean | 否 | 是否開啟語義結構提取,預設為false;開啟後返回的markdown階層更準確,但是耗時會大幅提升,usage計費項目會多出semantic_token_count項。預設逾時400s,超長文檔(>100頁)可能會逾時並降級為關閉結構提取。不支援html、ppt及pptx格式輸入。 | false |
返回參數
參數 | 類型 | 描述 | 樣本值 |
result.status | String | 任務狀態:
| PENDING |
result.error | String | status=FAIL時的錯誤資訊內容,正常情況為空白。 | 文檔解密失敗 |
result.data | Object | 文檔解析的結果。 | markdown |
result.data.content | String | 文檔解析結果-文檔內容
| "XXX" |
result.data.content_type | String | 文檔解析結果-內容格式
| markdown |
result.data.page_num | Int | 文檔解析結果-文檔頁數。 | 15 |
request_id | String | 系統對一次API調用賦予的唯一標識。 | B4AB89C8-B135-****-A6F8-2BAB801A2CE4 |
latency | Float/Int | 請求耗時,單位ms。 | 10 |
usage | Object | 本次調用產生的計量資訊。 | "usage": { "token_count": 123, "table_count": 5, "image_count": 6, "semantic_token_count":3068 } |
usage.token_count | Int | 文檔中字元個數。 | 1234 |
usage.table_count | Int | 文檔中表格個數。 | 5 |
usage.image_count | Int | 文檔中圖片個數。 | 6 |
usage.semantic_token_count | Int | 語義提模數型輸入字元個數。 | 3068 |
Curl請求樣本
curl --location 'http://****shanghai.opensearch.aliyuncs.com/v3/openapi/workspaces/default/document-analyze/ops-document-analyze-001/sync/' \
--header 'Authorization: Bearer 您的API Key' \
--header 'Content-Type: application/json' \
--data '{
"document":{
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241018/jahnyn/%E8%A7%A3%E6%9E%90%E6%B5%8B%E8%AF%95.doc"
},
"output" :{
"image_storage":"base64"
},
"strategy": {
"enable_semantic":true
}
}'響應樣本
正常響應樣本
{
"request_id": "27F9CEC3-9052-****-83FF-E7957B689D04",
"latency": 13.0,
"http_code": 200,
"result": {
"status": "SUCCESS",
"data": {
"content": "Provided proper attribution is provided, Alibaba hereby grants permission to reproduce the tables and figures in this paper solely for use in journalistic or scholarly works....",
"content_type": "markdown",
"page_num": 15
}
},
"usage": {
"token_count": 31867,
"table_count": 4,
"image_count": 8,
"semantic_token_count":3068
}
}異常響應樣本
在訪問請求出錯的情況下,輸出的結果中會通過code和message指明出錯原因。
{
"request_id": "6F33AFB6-A35C-****-AFD2-9EA16CCF4383",
"latency": 2.0,
"code": "InvalidParameter",
"http_code": 400,
"message": "JSON parse error: Cannot deserialize value of type `ImageStorage` from String \\"xxx\\"
}狀態代碼說明
HTTP 狀態代碼 | 錯誤碼 | 描述 |
200 | - | 請求成功,包括任務失敗情境,實際任務狀態需從result.status中判斷 |
404 | BadRequest.TaskNotExist | 任務不存在 |
400 | InvalidParameter | 不合法請求 |
500 | InternalServerError | 內部錯誤 |
更多狀態代碼說明,請參見狀態代碼說明。