You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在GCP DocumentAI中能否通过API为导入文档添加文档类型标签?

可以通过DocumentAI API批量分配文档类型标签

你完全可以通过API批量为文档添加全局文档类型标签,支持导入时直接分配和导入后批量更新两种方式,以下是具体实现方法:

一、导入文档时分配标签

场景1:整批文档属于同一类型

如果单次导入的所有文档都属于同一个类型,可以在BatchDocumentsImportConfig中通过document_label统一设置标签,标签值需与你之前定义的dataset schema中的entity type名称一致:

import_documents_request = document_service_client.import_documents(
    documentai.ImportDocumentsRequest(
        dataset=f"{processor.name}/dataset",
        batch_documents_import_configs=[
            documentai.ImportDocumentsRequest.BatchDocumentsImportConfig(
                auto_split_config=documentai.ImportDocumentsRequest.BatchDocumentsImportConfig.AutoSplitConfig(
                    training_split_ratio=0.7
                ),
                # 为整批文档统一设置文档类型标签
                document_label=documentai.DocumentLabel(
                    label="test1"  # 对应schema中定义的entity type名称
                ),
                batch_input_config=documentai.BatchDocumentsInputConfig(
                    gcs_documents=documentai.GcsDocuments(
                        documents=[
                            documentai.GcsDocument(
                                gcs_uri="gs://path/to/test1_doc1.pdf",
                                mime_type="application/pdf",
                            ),
                            documentai.GcsDocument(
                                gcs_uri="gs://path/to/test1_doc2.pdf",
                                mime_type="application/pdf",
                            )
                        ]
                    )
                ),
            )
        ],
    ),
)

场景2:单批文档包含多种类型

如果单次导入的文档分属不同类型,可以在每个GcsDocument的labels字段中单独指定document_type标签:

import_documents_request = document_service_client.import_documents(
    documentai.ImportDocumentsRequest(
        dataset=f"{processor.name}/dataset",
        batch_documents_import_configs=[
            documentai.ImportDocumentsRequest.BatchDocumentsImportConfig(
                auto_split_config=documentai.ImportDocumentsRequest.BatchDocumentsImportConfig.AutoSplitConfig(
                    training_split_ratio=0.7
                ),
                batch_input_config=documentai.BatchDocumentsInputConfig(
                    gcs_documents=documentai.GcsDocuments(
                        documents=[
                            documentai.GcsDocument(
                                gcs_uri="gs://path/to/test2_doc1.pdf",
                                mime_type="application/pdf",
                                labels={"document_type": "test2"}
                            ),
                            documentai.GcsDocument(
                                gcs_uri="gs://path/to/test4_doc1.pdf",
                                mime_type="application/pdf",
                                labels={"document_type": "test4"}
                            )
                        ]
                    )
                ),
            )
        ],
    ),
)

二、导入后批量更新文档标签

如果文档已经导入但需要调整标签,可以使用update_dataset_documents API批量修改:

# 构造批量更新请求
update_request = documentai.UpdateDatasetDocumentsRequest(
    dataset=f"{processor.name}/dataset",
    document_updates=[
        documentai.DatasetDocumentUpdate(
            gcs_uri="gs://path/to/test1_doc1.pdf",
            document_label=documentai.DocumentLabel(label="test1")
        ),
        documentai.DatasetDocumentUpdate(
            gcs_uri="gs://path/to/test2_doc1.pdf",
            document_label=documentai.DocumentLabel(label="test2")
        )
    ]
)

# 执行更新操作
response = document_service_client.update_dataset_documents(update_request)

关键注意事项

  • 所有标签名称必须与你之前通过API设置的dataset schema中的entity_type.name完全匹配(如test1、test2),否则会触发验证错误。
  • 无论是导入时还是导入后设置的标签,都会作为自定义分类模型的训练依据,效果与控制台手动设置完全一致。

内容的提问来源于stack exchange,提问作者J L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:28:11