AI Search Open Platform menyediakan layanan penguraian dokumen melalui API. Anda dapat mengintegrasikan layanan ini ke dalam alur kerja pemrosesan bisnis untuk mengubah data tidak terstruktur menjadi data terstruktur yang dapat digunakan dalam aplikasi bisnis Anda.
|
Service name |
Service ID |
Description |
API QPS limit |
|
Document Analysis Service |
ops-document-analyze-001 |
Menyari struktur hierarkis logis (seperti judul dan paragraf), teks, tabel, serta gambar dari dokumen tidak terstruktur dan mengembalikan output dalam format terstruktur. Jenis dokumen yang didukung: TXT, PDF, HTML, DOC, DOCX, PPT, dan PPTX. |
10 Catatan
Untuk meminta batas API QPS yang lebih tinggi, kirimkan tiket ke dukungan teknis. |
|
ops-document-analyze-002 |
Menganalisis berbagai format dokumen tidak terstruktur, seperti PDF dan gambar. Layanan ini unggul dalam mengidentifikasi elemen kompleks, seperti tabel, rumus, dan grafik, serta menawarkan kecepatan inferensi tinggi. Batas penggunaan: File PDF dibatasi hingga 400 halaman. Badan permintaan tidak boleh melebihi 8 MB. |
Prasyarat
-
Dapatkan kredensial autentikasi
Platform Terbuka AI Search memerlukan Kunci API untuk autentikasi. Untuk petunjuknya, lihat Dapatkan Kunci API.
-
Dapatkan Titik Akhir Layanan
Anda dapat memanggil layanan melalui jaringan publik atau VPC. Untuk detailnya, lihat Dapatkan Titik Akhir Layanan.
Ikhtisar
-
Ukuran badan permintaan tidak boleh melebihi 8 MB.
Ikhtisar
Penguraian konten dokumen menyediakan antarmuka sinkron dan asinkron. Antarmuka sinkron tidak disarankan untuk lingkungan produksi karena risiko timeout HTTP, tetapi dapat digunakan untuk debugging. Untuk lingkungan produksi, kami merekomendasikan antarmuka asinkron, yang merupakan proses dua langkah: pertama, buat Tugas ekstraksi asinkron untuk mendapatkan task_id, lalu lakukan polling status Tugas tersebut melalui antarmuka asinkron hingga selesai.
Tugas ekstraksi asinkron
Metode permintaan
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/document-analyze/{service_id}/async
-
host: Titik akhir layanan. Anda dapat memanggil layanan API melalui jaringan publik atau melalui VPC. Untuk informasi selengkapnya, lihat Dapatkan Titik Akhir Layanan.
-
workspace_name: Nama ruang kerja. Contohnya,default. -
service_id: ID layanan bawaan. Contohnya,ops-document-analyze-001.
Parameter permintaan
Parameter Header
Autentikasi Kunci API
|
Parameter |
Type |
Required |
Description |
Example value |
|
Content-Type |
String |
Yes |
Jenis media dari badan permintaan. |
application/json |
|
Authorization |
String |
Yes |
Kunci API untuk autentikasi. |
Bearer OS-d1**2a |
Parameter Badan
|
Parameter |
Type |
Required |
Description |
Example |
|
service_id |
String |
Yes |
ID layanan bawaan. |
ops-document-analyze-001 |
|
document.url |
String |
No |
URL dokumen. File harus dapat diunduh secara publik melalui HTTP atau HTTPS tanpa autentikasi. Anda harus menentukan salah satu dari |
http://opensearch-shanghai.oss-cn-shanghai.aliyuncs.com/chatos/***/file-parser/samples/GB10767.pdf |
|
document.content |
String |
No |
Konten dokumen yang dikodekan Base64. Anda harus menentukan salah satu dari |
"aGVsbG8gd29ybGQ=" |
|
document.file_name |
String |
No |
Nama file. Jika parameter ini tidak ditentukan, sistem akan menginferensinya dari URL. Parameter ini wajib jika Anda memberikan konten dokumen langsung menggunakan |
test.pdf |
|
document.file_type |
String |
No |
Jenis file. Jika parameter ini tidak ditentukan, sistem akan menginferensinya dari ekstensi Jenis file yang didukung: TXT, PDF, HTML, DOC, DOCX, PPT, dan PPTX. Saat menggunakan layanan |
|
|
output.image_storage |
String |
No |
Menentukan cara menyimpan gambar yang diekstraksi dari dokumen.
|
url |
|
strategy.enable_semantic |
Boolean |
No |
Mengaktifkan ekstraksi struktur hierarkis berbasis semantik dari dokumen TXT dan dokumen tidak terstruktur lainnya.
|
false |
Untuk dokumen yang tidak memiliki pemisahan jelas antara daftar isi dan isi utama—seperti pada gambar di bawah—fitur ini menghasilkan struktur hierarkis yang lebih akurat.

-
Dengan ekstraksi struktur semantik dinonaktifkan:

-
Saat ekstraksi struktur semantik diaktifkan, struktur hierarkis hasilnya lebih akurat (tanda "##" pada tangkapan layar menunjukkan heading tingkat 2).
CatatanJika
usage.semantic_token_countmengembalikan nilai, ekstraksi struktur semantik berhasil dan biaya token untuk item penagihan ini dikenakan. Jika tidak ada nilai yang dikembalikan, ekstraksi gagal dan tidak dikenakan biaya.
Tabel berikut menunjukkan perkiraan durasi dan jumlah token semantik setelah ekstraksi struktur semantik diaktifkan.
|
PDF pages |
Tokens |
Without semantic hierarchy |
With semantic hierarchy |
|
|
Time (s) |
Time (s) |
Semantic tokens |
||
|
7 |
11504 |
2 |
49 |
36243 |
|
25 |
10375 |
1 |
33 |
59332 |
|
42 |
41435 |
5 |
68 |
130717 |
Parameter respons
|
Parameter |
Type |
Description |
Example |
|
result.task_id |
String |
ID task asinkron untuk penguraian dokumen. |
d5a4019e-853a-****-b5b6-8053d9f5a9fc |
Contoh 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
}
}'
Contoh respons
Respons sukses
{
"request_id": "D5A4019E-853A-4E20-****-8053D9F5A9FC",
"latency": 5.0,
"http_code": 200,
"result": {
"task_id": "d5a4019e-853a-****-b5b6-8053d9f5a9fc"
}
}
Respons error
Jika permintaan gagal, respons menjelaskan error dalam bidang code dan message.
{
"request_id": "590A7EB8-AA84-****-AF31-8C35DC965972",
"latency": 0.0,
"code": "InvalidParameter",
"http_code": 400,
"message": "document.file_name required"
}
Pengambilan task asinkron
Metode permintaan
GET
URL
{host}/v3/openapi/workspaces/{workspace_name}/document-analyze/{service_id}/async/task-status?task_id=${task_id}
-
host: Titik akhir layanan. Anda dapat memanggil layanan API melalui jaringan publik atau melalui VPC. Untuk informasi selengkapnya, lihat Dapatkan Titik Akhir Layanan. -
workspace_name: Nama ruang kerja. Contohnya,default. -
service_id: ID layanan bawaan. Contohnya,ops-document-analyze-001. -
task_id: ID Tugas asinkron yang dikembalikan oleh permintaan pembuatan Tugas. Contohnya,d5a4019e-853a-****-b5b6-8053d9f5a9fc.
Parameter permintaan
Parameter Header
Autentikasi Kunci API
|
Parameter |
Type |
Required |
Description |
Example |
|
Content-Type |
String |
Yes |
Jenis media dari permintaan. Nilainya harus application/json. |
application/json |
|
Authorization |
String |
Yes |
Kunci API untuk autentikasi, diawali dengan Bearer . |
Bearer OS-d1**2a |
Parameter respons
|
Parameter |
Type |
Description |
Value |
|
result.task_id |
String |
ID task penguraian dokumen asinkron. |
24c3ad59-****-40cf-974b-b63d63e0571 |
|
result.status |
String |
Status task. Nilai yang mungkin adalah:
|
PENDING |
|
result.error |
String |
Pesan error untuk task yang gagal. Parameter ini kosong jika tidak ada error. |
Failed to decrypt the document. |
|
result.data |
Object |
Hasil penguraian dokumen. |
markdown |
|
result.data.content |
String |
Konten dokumen yang telah diurai.
|
"XXX" |
|
result.data.content_type |
String |
Format konten yang telah diurai.
|
markdown |
|
result.data.page_num |
Int |
Jumlah halaman dalam dokumen. |
15 |
|
request_id |
String |
Pengidentifikasi unik untuk pemanggilan API ini. |
B4AB89C8-B135-****-A6F8-2BAB8018688 |
|
latency |
Float/Int |
Latensi permintaan dalam milidetik (ms). |
10 |
|
usage |
Object |
Informasi metering untuk pemanggilan API ini. |
"usage": { "token_count": 123, "table_count": 5, "image_count": 6, "semantic_token_count":3068 } |
|
usage.token_count |
Int |
Jumlah karakter dalam dokumen. |
1234 |
|
usage.table_count |
Int |
Jumlah tabel dalam dokumen. |
5 |
|
usage.image_count |
Int |
Jumlah gambar dalam dokumen. |
6 |
|
usage.semantic_token_count |
Int |
Jumlah karakter dalam input ke model ekstraksi semantik. |
3068 |
Permintaan 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"
Contoh respons
Respons sukses
{
"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
}
}
Respons error
Jika permintaan akses gagal, bidang code dan message dalam respons menjelaskan error tersebut.
Buat task penguraian sinkron
Hindari menggunakan antarmuka sinkron di lingkungan produksi karena risiko timeout HTTP. Gunakan hanya untuk debugging.
Metode permintaan
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/document-analyze/{service_id}/sync
Parameter
-
host: Titik akhir layanan. Anda dapat memanggil layanan API melalui jaringan publik atau VPC. Untuk informasi selengkapnya, lihat Dapatkan Titik Akhir Layanan. -
workspace_name: Nama ruang kerja. Contohnya,default. -
service_id: ID layanan bawaan. Contohnya,ops-document-analyze-001.
Parameter permintaan
Parameter header
Autentikasi Kunci API
|
Parameter |
Type |
Required |
Description |
Value |
|
Content-Type |
String |
Yes |
Jenis permintaan. |
application/json |
|
Authorization |
String |
Yes |
Kunci API Anda. |
Bearer OS-d1**2a |
Parameter badan
|
Parameter |
Type |
Required |
Description |
Example value |
|
document.url |
String |
No |
URL publik dokumen. Dokumen harus dapat diakses melalui HTTP atau HTTPS tanpa autentikasi. Anda harus menentukan salah satu dari |
http://opensearch-shanghai.oss-cn-shanghai.aliyuncs.com/chatos/***/file-parser/samples/GB10767.pdf |
|
document.content |
String |
No |
Konten dokumen, dikodekan Base64. Anda harus menentukan salah satu dari |
"aGVsbG8gd29ybGQ=" |
|
document.file_name |
String |
No |
Nama file. Jika parameter ini dihilangkan, sistem akan menginferensi nama dari document.url. Parameter ini wajib saat document.content ditentukan. |
test.pdf |
|
document.file_type |
String |
No |
Jenis file. Jika parameter ini dihilangkan, sistem akan menginferensi jenis file dari ekstensi Jenis file yang didukung: TXT, PDF, HTML, DOC, DOCX, PPT, dan PPTX. |
|
|
output.image_storage |
String |
No |
Metode penyimpanan gambar.
|
url |
|
strategy.enable_semantic |
Boolean |
No |
Menentukan apakah akan mengaktifkan ekstraksi struktur semantik. Nilai default adalah |
false |
Parameter respons
|
Parameter |
Type |
Description |
Example |
|
result.status |
String |
Status task. Nilai yang valid meliputi:
|
PENDING |
|
result.error |
String |
Pesan error yang dikembalikan saat statusnya |
Document decryption failed |
|
result.data |
Object |
Hasil penguraian dokumen. |
markdown |
|
result.data.content |
String |
Konten dokumen yang telah diurai.
|
"XXX" |
|
result.data.content_type |
String |
Tipe konten dokumen yang telah diurai. Nilai yang valid meliputi:
|
markdown |
|
result.data.page_num |
Int |
Jumlah halaman dokumen. |
15 |
|
request_id |
String |
Pengidentifikasi unik untuk permintaan. |
B4AB89C8-B135-****-A6F8-2BAB801A2CE4 |
|
latency |
Float/Int |
Latensi permintaan dalam milidetik (ms). |
10 |
|
usage |
Object |
Detail penggunaan untuk permintaan. |
"usage": { "token_count": 123, "table_count": 5, "image_count": 6, "semantic_token_count":3068 } |
|
usage.token_count |
Int |
Jumlah total token dalam dokumen. |
1234 |
|
usage.table_count |
Int |
Jumlah total tabel dalam dokumen. |
5 |
|
usage.image_count |
Int |
Jumlah total gambar dalam dokumen. |
6 |
|
usage.semantic_token_count |
Int |
Jumlah total token semantik yang digunakan sebagai input untuk model ekstraksi semantik. |
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
}
}'
Contoh respons
Contoh respons sukses
{
"request_id": "27F9CEC3-9052-****-83FF-E7957B689D04",
"latency": 13.0,
"http_code": 200,
"result": {
"status": "SUCCESS",
"data": {
"content": "Provided proper attribution is given, 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
}
}
Contoh respons error
Jika permintaan akses gagal, respons menunjukkan error dalam bidang code dan 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\\""
}
Kode status
|
Http status code |
Error code |
Description |
|
200 |
- |
Permintaan berhasil. Status ini dikembalikan bahkan jika task gagal. Periksa bidang |
|
404 |
BadRequest.TaskNotExist |
Task tidak ada. |
|
400 |
InvalidParameter |
Permintaan tidak valid. |
|
500 |
InternalServerError |
Terjadi error internal. |
Untuk informasi selengkapnya tentang kode status, lihat kode status.