Esta página contém etapas para copiar versões de processadores treinados da Document AI de um projeto para outro, junto com o esquema do conjunto de dados e exemplos da origem para o processador de destino. Essas etapas automatizam o processo de importação da versão do processador, implantação e definição como padrão no projeto de destino.
Antes de começar
- Receba um ID do projeto Google Cloud .
- Tenha o ID do processador da Document AI.
- Ter o Cloud Storage.
- Usar Python: notebook Jupyter (Vertex AI).
- Você precisa de permissões para dar acesso à conta de serviço nos projetos de origem e destino.
Procedimento detalhado
O procedimento é descrito nas etapas a seguir.
Etapa 1: identificar a conta de serviço associada ao Vertex AI Notebook
!gcloud config list account
Saída:
[core]
account = example@automl-project.iam.gserviceaccount.com
Your active configuration is: [default]
Etapa 2: conceder as permissões necessárias à conta de serviço
No projeto Google Cloud que é o destino pretendido da migração, adicione a conta de serviço adquirida na etapa anterior como um principal e atribua os dois papéis a seguir:
- Administrador da Document AI
- Administrador de armazenamento
Consulte Como conceder papéis a contas de serviço e Chaves de criptografia gerenciadas pelo cliente (CMEK) para mais informações.

Para que a migração funcione, a conta de serviço usada para executar este notebook precisa ter:
- Funções nos projetos de origem e destino para criar o bucket do conjunto de dados ou criá-lo se ele não existir, além de permissões de leitura e gravação para todos os objetos.
- Função de editor da Document AI no projeto de origem, conforme descrito em Importar uma versão do processador.
Faça o download de uma chave JSON para a conta de serviço, assim você poderá autenticar e autorizar como conta de serviço. Para mais informações, consulte Chaves de conta de serviço.
Próximo:
- Acesse a conta de serviço.
- Selecione a conta de serviço destinada a realizar essa tarefa.
- Acesse a guia Chaves, clique em
Add Keye escolha Criar nova chave. - Selecione o tipo de chave (de preferência JSON).
Clique em
Createe faça o download para um caminho específico.
Atualize o caminho na variável
service_account_keyno snippet a seguir.
service_account_key='path_to_sa_key.json'
from google.oauth2 import service_account
from google.cloud import storage
# Authenticate the service account
credentials = service_account.Credentials.from_service_account_file(
service_account_key
)
# pass this credentials variable to all client initializations
# storage_client = storage.Client(credentials=credentials)
# docai_client = documentai.DocumentProcessorServiceClient(credentials=credentials)
Etapa 3: importar as bibliotecas
import time
from pathlib import Path
from typing import Optional, Tuple
from google.cloud.documentai_v1beta3.services.document_service import pagers
from google.api_core.client_options import ClientOptions
from google.api_core.operation import Operation
from google.cloud import documentai_v1beta3 as documentai
from google.cloud import storage
from tqdm import tqdm
Etapa 4: inserir detalhes
- source_project_id: forneça o ID do projeto de origem.
- source_location: informe o local do processador de origem (
usoueu). - source_processor_id: forneça o ID do processador da Document AI. Google Cloud
- source_processor_version_to_import: forneça o ID da versão do processador da Google Cloud Document AI para a versão treinada.
- migrate_dataset::forneça esse valor como
TrueouFalse. Se você quiser migrar o conjunto de dados do processador de origem para o de destino, forneçaTrue. Caso contrário, forneçaFalse. O valor padrão éFalse. - source_exported_gcs_path: informe o caminho do Cloud Storage para armazenar arquivos JSON.
- destination_project_id: forneça o ID do projeto de destino.
- destination_processor_id: forneça o ID do processador da Document AI,
""ouprocessor_iddo projeto de destino. Google Cloud
source_project_id = "source-project-id"
source_location = "processor-location"
source_processor_id = "source-processor-id"
source_processor_version_to_import = "source-processor-version-id"
migrate_dataset = False # Either True or False
source_exported_gcs_path = (
"gs://bucket/path/to/export_dataset/"
)
destination_project_id = "< destination-project-id >"
# Give an empty string if you wish to create a new processor
destination_processor_id = ""
Etapa 5: executar o código
import time
from pathlib import Path
from typing import Optional, Tuple
from google.cloud.documentai_v1beta3.services.document_service import pagers
from google.api_core.client_options import ClientOptions
from google.api_core.operation import Operation
from google.cloud import documentai_v1beta3 as documentai
from google.cloud import storage
from tqdm import tqdm
source_project_id