すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:ドキュメントコンテンツの解析

最終更新日:Jan 15, 2026

AI Search Open Platform では、API を使用してドキュメントコンテンツ解析サービスを呼び出すことができます。 このサービスをビジネス処理チェーンに統合して、非構造化データを構造化データに解析し、構造化データをビジネスに適用できます。

サービス名

サービスID

サービスの説明

API呼び出しのQPS制限 (Alibaba CloudアカウントおよびRAMユーザーの場合)

ドキュメント解析サービス

ops-document-analyze-001

非構造化ドキュメントからタイトルやセグメントなどの論理的な階層構造、およびテキスト、表、画像、その他の情報を抽出し、構造化形式で出力します。

サポートされているドキュメントタイプは、TXT、PDF、HTML、DOC、DOCX、PPT、PPTX です。

10

説明

より高いQPSを申請するには、チケットを送信してください。

ops-document-analyze-002

PDF やイメージなど、さまざまな非構造化ドキュメントフォーマットを解析し、テーブル、数式、チャートなどの複雑な要素の検出に優れており、高速な推論速度を実現します。

前提条件

  • 認証情報を取得します。

    API を使用して AI Search Open Platform サービスを呼び出す場合は、呼び出し元の ID を認証する必要があります。

  • サービスアクセスアドレスを取得します。

    インターネットまたは VPC(Virtual Private Cloud)経由でサービスを呼び出すことができます。 詳細については、「サービス登録アドレスを取得する」をご参照ください。

一般情報

  • リクエスト本文の最大サイズは 8 MB を超えることはできません。

概要

ドキュメントコンテンツの解析では、同期インターフェイスと非同期インターフェイスの両方が提供されます。 HTTP タイムアウトのリスクがあるため、本番環境では同期インターフェイスは推奨されず、デバッグに使用できます。 本番環境では非同期インターフェイスが推奨され、2 つのステップが含まれます。まず、非同期抽出タスクを作成して task_id を取得し、次に非同期タスク取得インターフェイスを呼び出して、タスクが完了するまでステータスを継続的にクエリします。

非同期抽出タスクを作成する

リクエストメソッド

POST

URL

{host}/v3/openapi/workspaces/{workspace_name}/document-analyze/{service_id}/async
  • host:サービスを呼び出すためのアドレス。 インターネットまたは VPC 経由で API サービスを呼び出すことができます。 詳細については、「サービス登録アドレスを取得する」をご参照ください。

  • workspace_name:ワークスペースの名前(例:default)。

  • service_id:組み込みサービス ID(例:ops-document-analyze-001)。

リクエスト パラメーター

ヘッダーパラメーター

API キー認証

パラメーター

タイプ

必須

説明

Content-Type

String

はい

リクエストタイプ。 有効な値:application および json。

application/json

Authorization

String

はい

API キー。

Bearer OS-d1**2a

ボディ パラメーター

パラメーター

タイプ

必須

説明

service_id

String

はい

組み込みサービス ID。

ops-document-analyze-001

document.url

String

いいえ

ドキュメントの URL。 有効な値:HTTP および HTTPS プロトコル。 パブリックネットワークからステートレスにダウンロードできることを確認してください。

document.contentまたはdocument.urlのいずれかが必要です。

http://opensearch-shanghai.oss-cn-shanghai.aliyuncs.com/chatos/***/file-parser/samples/GB10767.pdf

document.content

String

いいえ

Base64 でエンコードされたドキュメントコンテンツ。

document.contentまたはdocument.urlのいずれかが必要です。

"aGVsbG8gd29ybGQ="

document.file_name

String

いいえ

ドキュメント名。 このパラメーターを空のままにすると、URL から名前を推測できます。 このパラメーターと document.url パラメーターを空のままにすると、ドキュメント名を明示的に指定する必要があります。

test.pdf

document.file_type

String

いいえ

ドキュメントタイプ。 このパラメーターを空のままにすると、ドキュメントタイプはドキュメント名のサフィックスから推測できます。 推測できない場合は、ドキュメントタイプを明示的に指定する必要があります。 サポートされているドキュメントタイプは、TXT、PDF、HTML、DOC、DOCX、PPT、PPTX です。

pdf

output.image_storage

String

いいえ

画像保存方法。

  • base64:デフォルトの方法。

  • url:URL は 3 日間有効です。

url

strategy.enable_semantic

Boolean

いいえ

TXT ドキュメントまたは階層構造が不明確なドキュメントの解析中に、セマンティック階層抽出を有効にするかどうかを指定します。 有効な値:

  • true:この機能を有効にすると、モデルサービスはドキュメントを Markdown 階層形式で返します。これにより、後続のドキュメントスライス処理の精度が向上します。

    • この機能は、HTML、PPT、および PPTX タイプのドキュメントをサポートしていません。

    • この機能を有効にすると、ドキュメント全体の解析時間が長くなります。 解析時間が 400 秒を超える場合、または非常に長いドキュメント(100 ページ以上)の場合は、システムによって機能が自動的に無効になることがあります。

    • usage 課金パラメーターには、semantic_token_count が含まれ、モデルで使用されるトークン数が表示されます。料金はこのトークン数に基づいて請求されます。

  • false:デフォルト値。

false

目次と本文の区別が明確でないドキュメントの場合、セマンティック階層抽出により、結果の階層構造がより正確になります。

説明

usage.semantic_token_count パラメーターの値が返された場合、セマンティック階層抽出が有効になっており、セマンティックトークンの消費に対して課金されます。 戻り値がない場合は、機能が失敗し、課金されないことを示します。

次の表に基づいて、セマンティック階層抽出を有効にした後の時間とトークンの消費量を見積もることができます。

PDF ページ

トークン数

セマンティック階層抽出なし

セマンティック階層抽出あり

時間 (秒)

時間 (秒)

セマンティックトークン

7

11,504

2

49

36,243

25

10,375

1

33

59,332

42

41,435

5

68

130,717

レスポンスパラメーター

パラメーター

タイプ

説明

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 your 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"
    }
}

異常なレスポンスの例

アクセスリクエストエラーが発生した場合、出力結果にはコードとメッセージによってエラー理由が示されます。

{
    "request_id": "590A7EB8-AA84-****-AF31-8C35DC965972",
    "latency": 0.0,
    "code": "InvalidParameter",
    "http_code": 400,
    "message": "document.file_name は必須です"
}

非同期抽出タスクを取得する

リクエストメソッド

取得

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)。

リクエストパラメーター

ヘッダー パラメーター

API キー認証

パラメーター

タイプ

必須

説明

Content-Type

String

はい

リクエストタイプ。 有効な値:application および json。

application/json

Authorization

String

はい

API キー。

Bearer OS-d1**2a

レスポンスパラメーター

パラメーター

タイプ

説明

result.task_id

String

ドキュメント解析非同期タスクの ID。

24c3ad59-****-40cf-974b-b63d63e0571

result.status

String

タスクステータス。 有効な値:

  • PENDING

  • SUCCESS

  • FAIL

PENDING

result.error

String

result.status を FAIL に設定した場合のエラーメッセージ。 タスクが成功した場合、このパラメーターの値は空です。

ドキュメントの復号化に失敗しました

result.data

Object

ドキュメント解析結果。

markdown

result.data.content

String

ドキュメント解析結果 - コンテンツ。

  • PDFドキュメントはMarkdown形式で出力されます

  • その他のドキュメントはHTML形式で出力されます

"XXX"

result.data.content_type

String

ドキュメント解析結果 - コンテンツ形式。

  • markdown

  • html

markdown

result.data.page_num

Int

ドキュメント解析結果 - ページ数。

15

request_id

String

システムが API 呼び出しに割り当てたユニーク ID。

B4AB89C8-B135-****-A6F8-2BAB8018688

latency

Float/Int

リクエスト時間。 単位:ミリ秒。

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 Your API-KEY"

レスポンス例

通常の応答例

{
    "request_id": "27F9CEC3-9052-****-83FF-E7957B680492",
    "latency": 13.0,
    "http_code": 200,
    "result": {
        "status": "SUCCESS",
        "data": {
            "content": "適切な帰属表示が提供されている場合、Alibaba は、ジャーナリズムまたは学術的な著作物での使用のみを目的として、本書の表と図を複製する許可をここに付与します....",
            "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
    }
}

異常なレスポンスの例

アクセスリクエストエラーが発生した場合、出力結果にはコードとメッセージによってエラーの理由が示されます。

{
    "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)。

リクエストパラメータ

ヘッダー パラメーター

API キー認証

パラメーター

タイプ

必須

説明

Content-Type

String

はい

リクエストタイプ。 有効な値:application および json。

application/json

Authorization

String

はい

API キー。

Bearer OS-d1**2a

ボディ パラメーター

パラメーター

タイプ

必須

説明

document.url

String

いいえ

ドキュメントの URL。 有効な値:HTTP および HTTPS プロトコル。 パブリックネットワークからステートレスにダウンロードできることを確認してください。

document.contentまたはdocument.urlのいずれかが必要です。

http://opensearch-shanghai.oss-cn-shanghai.aliyuncs.com/chatos/***/file-parser/samples/GB10767.pdf

document.content

String

いいえ

Base64 でエンコードされたドキュメントコンテンツ。

document.contentまたはdocument.urlのいずれかが必要です。

"aGVsbG8gd29ybGQ="

document.file_name

String

いいえ

ドキュメント名。 このパラメーターを空のままにすると、URL から名前を推測できます。 このパラメーターと document.url パラメーターを空のままにすると、ドキュメント名を明示的に指定する必要があります。

test.pdf

document.file_type

String

いいえ

ドキュメントタイプ。 このパラメーターを空のままにすると、ドキュメントタイプはドキュメント名のサフィックスから推測できます。 推測できない場合は、ドキュメントタイプを明示的に指定する必要があります。

サポートされているドキュメントタイプは、TXT、PDF、HTML、DOC、DOCX、PPT、PPTX です。

pdf

output.image_storage

String

いいえ

画像保存方法。

  • base64:デフォルトの方法。

  • url:URL は 3 日間有効です。

url

strategy.enable_semantic

Boolean

いいえ

セマンティック階層抽出を有効にするかどうかを指定します。この機能を有効にすると、ドキュメントがMarkdown階層形式で返され、精度が向上します。

この機能を有効にすると、ドキュメント全体の解析時間が長くなります。 解析時間が 400 秒を超える場合、または非常に長いドキュメント(100 ページ以上)の場合は、システムによって機能が自動的に無効になることがあります。

この機能は、HTML、PPT、または PPTX タイプのドキュメントをサポートしていません。

false

レスポンスパラメーター

パラメーター

タイプ

説明

result.status

String

タスクステータス。 有効な値:

  • PENDING

  • SUCCES

  • FAIL

PENDING

result.error

String

result.status を FAIL に設定した場合のエラーメッセージ。 タスクが成功した場合、このパラメーターの値は空です。

ドキュメントの復号化に失敗しました

result.data

Object

ドキュメント解析結果。

markdown

result.data.content

String

ドキュメント解析結果 - コンテンツ。

  • PDF ドキュメントは Markdown 形式で出力されます

  • その他のドキュメントは HTML 形式で出力されます

"XXX"

result.data.content_type

String

ドキュメント解析結果 - コンテンツ形式。

  • markdown

  • html

markdown

result.data.page_num

Int

ドキュメント解析結果 - ページ数。

15

request_id

String

システムが API 呼び出しに割り当てたユニーク ID。

B4AB89C8-B135-****-A6F8-2BAB801A2CE4

latency

Float/Int

リクエスト時間。 単位:ミリ秒。

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 your 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": "適切な帰属表示が提供されている場合、Alibaba は、ジャーナリズムまたは学術的作品での使用のみを目的として、本書の表と図を複製する許可をここに付与します....",
            "content_type": "markdown",
            "page_num": 15
        }
    },
    "usage": {
        "token_count": 31867,
        "table_count": 4,
        "image_count": 8,
        "semantic_token_count":3068
    }
}

異常なレスポンスの例

アクセスリクエストエラーが発生した場合、出力結果にはコードとメッセージによってエラー理由が示されます。

{
    "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\\"  // JSON解析エラー: 文字列 \\"xxx\\" から `ImageStorage` 型の値をデシリアライズできません
}

ステータスコードの説明

HTTP ステータス コード

エラーメッセージ

説明

200

-

タスクの失敗シナリオを含む、リクエストは成功しました。実際のタスクの状態は result.status から判断する必要があります。

404

BadRequest.TaskNotExist

タスクが存在しません。

400

InvalidParameter

無効なリクエストです。

500

InternalServerError

内部エラーです。