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

如何通过代码对Google Cloud Document AI发票解析器进行增量训练

Google Cloud Document AI发票解析器增量训练实现及准备信息

一、增量训练前需准备的核心信息

  • 已训练处理器的核心标识:项目ID、处理器所在区域、目标处理器ID,以及你要基于的原处理器版本ID(通常可用stable指代当前稳定版本)
  • 增量标注数据集:符合Document AI格式的标注数据集合,包含新增的发票文件(PDF/图片等)以及对应的结构化JSON标注,数据类型需与原解析器处理的发票一致,保证训练连贯性
  • 权限凭证:拥有documentai.editor或更高权限的Google Cloud服务账号密钥文件,用于调用Document AI训练API
  • 训练配置参数:新处理器版本的名称、训练超时时间、是否启用模型增强等(可参考初次训练的配置)

二、Python代码实现增量训练

以下是基于Google Cloud Document AI Python SDK的增量训练实现代码:

from google.cloud import documentai_v1 as documentai
from google.api_core.client_options import ClientOptions

def incremental_train_invoice_parser(project_id, location, processor_id, dataset_id, base_version="stable"):
    # 初始化客户端,指定区域API端点
    client_options = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")
    client = documentai.DocumentProcessorServiceClient(client_options=client_options)

    # 构建训练请求核心参数
    parent = client.processor_path(project_id, location, processor_id)
    base_version_path = client.processor_version_path(project_id, location, processor_id, base_version)

    train_request = documentai.TrainProcessorVersionRequest(
        parent=parent,
        processor_version=documentai.ProcessorVersion(
            display_name="incremental-invoice-parser-v2"  # 自定义新版本名称
        ),
        input_data_config=documentai.TrainProcessorVersionRequest.InputDataConfig(
            dataset=dataset_id,
            base_processor_version=base_version_path  # 指定增量训练的基础版本
        )
    )

    # 发送异步训练请求并等待完成
    operation = client.train_processor_version(train_request)
    print("训练任务已启动,等待完成...")
    # 根据数据集规模调整超时时间,示例设置为1小时
    training_result = operation.result(timeout=3600)

    print(f"增量训练完成,新处理器版本路径: {training_result.name}")
    return training_result.name

# 实际调用示例
if __name__ == "__main__":
    # 替换为你的实际参数
    PROJECT_ID = "your-gcp-project-id"
    LOCATION = "us"  # 如eu、asia-southeast1等
    PROCESSOR_ID = "your-existing-invoice-processor-id"
    INCREMENTAL_DATASET_ID = "projects/your-project-id/locations/us/datasets/your-incremental-dataset-id"

    incremental_train_invoice_parser(PROJECT_ID, LOCATION, PROCESSOR_ID, INCREMENTAL_DATASET_ID)

关键注意事项

  • 新增数据集必须提前在Document AI控制台完成创建和标注,数据集ID可从控制台数据集详情页获取
  • 本地运行时需设置环境变量export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-key.json"
  • 若训练超时,可根据数据量适当延长timeout参数值;也可通过operation.metadata实时监控训练进度
  • 训练完成后,新的处理器版本需手动设置为稳定版本才能正式使用

内容的提问来源于stack exchange,提问作者Vahid Uglic

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 14:53:28