Extrator personalizado com IA generativa

Com o treinamento e a extração de IA generativa, você pode:

  • Use a tecnologia zero-shot e few-shot para ter um modelo de alto desempenho com poucos ou nenhum dado de treinamento usando o modelo de fundação.
  • Use o ajuste fino para aumentar ainda mais a acurácia à medida que você fornece mais dados de treinamento.

Métodos de treinamento de IA generativa

O método de treinamento escolhido depende da quantidade de documentos disponíveis e do esforço que você pode dedicar ao treinamento do modelo. Há três maneiras de treinar um modelo de IA generativa:

Método de treinamento Zero-shot Few-shot Ajuste de detalhes
Precisão Médio Média a alta Alta
Esforço Baixo Baixo Médio
Número recomendado de documentos de treinamento 0 5 a 10 10 a mais de 50

Versões de modelo de extrator personalizado

Os seguintes modelos estão disponíveis para o extrator personalizado. Para mudar as versões do modelo, consulte Gerenciar versões do processador.

As versões 1.3, 1.4 e 1.5 oferecem suporte a pontuações de confiança, mas a versão 1.2 não.

Versão do modelo Descrição Estável Processamento de ML nos EUA/UE Ajuste de detalhes nos EUA/UE Data de lançamento
pretrained-foundation-model-v1.4-2025-02-05 Candidato a lançamento com tecnologia do LLM Gemini 2.0 Flash. Suporta uma cota de até 120 páginas por minuto para solicitações de processo on-line. Também inclui recursos avançados de OCR, como detecção de caixas de seleção. Sim Sim EUA, UE (pré-lançamento) 5 de fevereiro de 2025
pretrained-foundation-model-v1.5-2025-05-05 Modelo em GA com tecnologia do LLM Gemini 2.5 Flash. Suporta uma cota de até 15 páginas por minuto para solicitações de processo on-line. Recomendado para quem quer testar modelos mais recentes. Sim Sim EUA, UE 5 de maio de 2025

Para mudar a versão do processador no seu projeto, consulte Como gerenciar versões de processadores.

Configuração inicial

Se ainda não tiver feito isso, ative o faturamento e as APIs Document AI.

Criar e avaliar um modelo de IA generativa

  1. Crie um processador e defina os campos que você quer extrair seguindo as práticas recomendadas, o que é importante porque afeta a qualidade da extração.

    • Acesse Workbench > Extrator personalizado > Criar processador > Atribuir um nome.

    processor-version-genai-1

    • Acesse Começar > Criar novo campo.

    processor-version-genai-2

  2. Importar documentos

    • Importe documentos com rotulagem automática e atribua documentos aos conjuntos de treinamento e teste.
    • Para o aprendizado sem exemplos, apenas o esquema é necessário. Para avaliar a acurácia do modelo, basta um conjunto de teste.
    • Para o aprendizado com poucos exemplos, recomendamos cinco documentos de treinamento.
    • O número de documentos de teste necessários depende do caso de uso. Em geral, quanto mais documentos de teste, melhor.
    • Confirme ou edite os rótulos no documento.
  3. Treinar o modelo:

    • Selecione Build e Criar nova versão.
    • Digite um nome e selecione Criar.

    processor-version-genai-12

  1. Avaliação:

    • Acesse Avaliar e testar, selecione a versão que você acabou de treinar e clique em Ver avaliação completa.

    processor-version-genai-13

    • Agora você vê métricas como f1, precisão e recall para o documento inteiro e cada campo.
    • Decida se a performance atende às suas metas de produção. Se não, reavalie os conjuntos de treinamento e teste.
  2. Defina uma nova versão como padrão:

    • Acesse Gerenciar versões.
    • Selecione para expandir as opções e escolha Definir como padrão.

    processor-version-genai-14

    Seu modelo foi implantado. Os documentos enviados a esse processador usam sua versão personalizada. Você pode avaliar a performance do modelo para verificar se ele precisa de mais treinamento.

Referência de avaliação

O mecanismo de avaliação pode fazer correspondência exata ou aproximada. Para uma correspondência exata, o valor extraído precisa corresponder exatamente à verdade fundamental ou é contado como uma falha.

As extrações de correspondência aproximada que tinham pequenas diferenças, como o uso de maiúsculas e minúsculas, ainda são consideradas uma correspondência. Isso pode ser mudado na tela Avaliação.

processor-version-genai-15

Ajuste de detalhes

Com o ajuste refinado, você usa centenas ou milhares de documentos para o treinamento.

  1. Crie um processador e defina os campos que você quer extrair seguindo as práticas recomendadas, o que é importante porque afeta a qualidade da extração.

  2. Importe documentos com rotulagem automática e atribua documentos aos conjuntos de treinamento e teste.

  3. Confirme ou edite os rótulos no documento.

  4. Treinar o modelo.

    • Selecione a guia Build e clique em Create New Version na caixa Fine-tuning.

    processor-version-genai-24

    • Teste os parâmetros ou valores de treinamento padrão fornecidos. Se os resultados não forem satisfatórios, teste estas opções avançadas:

    • Etapas de treinamento (entre 100 e 400): controla a frequência com que os pesos são otimizados em um lote de dados durante o ajuste.

      • Um valor muito baixo indica o risco de o treinamento terminar antes da convergência (subajuste).
      • Se for muito alto, o modelo poderá ver o mesmo lote de dados várias vezes durante o treinamento, o que pode levar ao overfitting.
      • Menos etapas resultam em um tempo de treinamento mais rápido. Contagens mais altas podem ajudar em documentos com pouca variação de modelo, e contagens mais baixas para aqueles com mais variação.
    • Multiplicador da taxa de aprendizado (entre 0,1 e 10): controla a rapidez com que os parâmetros do modelo são otimizados nos dados de treinamento. Ele corresponde aproximadamente ao tamanho de cada etapa de treinamento.

      • Taxas baixas significam pequenas mudanças nos pesos do modelo em cada etapa de treinamento. Se for muito baixo, o modelo poderá não convergir para uma solução estável.
      • Taxas altas indicam mudanças grandes, e taxas muito altas podem fazer com que o modelo passe por cima da solução ideal e convirja para uma solução abaixo do ideal.
      • O tempo de treinamento não é afetado pela escolha da taxa de aprendizado.
    • Dê um nome, selecione a versão do processador de base necessária e clique em Criar.

    processor-version-genai-21

  5. Avaliação: acesse Avaliar e testar, selecione a versão que você acabou de treinar e clique em Ver avaliação completa.

    processor-version-genai-13

    • Agora você vê métricas como f1, precisão e recall para todo o documento e cada campo.
    • Decida se a performance atende às suas metas de produção. Caso contrário, talvez sejam necessários mais documentos de treinamento.
  6. Defina uma nova versão como padrão:

    • Acesse Gerenciar versões.
    • Selecione para abrir as opções e clique em Definir como padrão.

    processor-version-genai-14

    Seu modelo foi implantado, e os documentos enviados a esse processador agora usam sua versão personalizada. Você quer avaliar o desempenho do modelo para verificar se ele precisa de mais treinamento.

Identificação automática com o modelo de fundação

O modelo de base extrai campos com precisão para diversos tipos de documentos, mas também é possível fornecer mais dados de treinamento para melhorar a acurácia do modelo em estruturas de documentos específicas.

A Document AI usa os nomes de rótulo que você define e as anotações anteriores para facilitar e agilizar a identificação de documentos em grande escala com a rotulagem automática.

  1. Depois de criar um processador personalizado, acesse a guia Começar.
  2. Selecione Criar novo campo.
  3. Dê ao rótulo um nome descritivo e distinto. Isso vai melhorar a acurácia e o desempenho do modelo de fundação.

    processor-version-genai-17

  4. Para melhorar a acurácia e o desempenho da extração, adicione uma descrição (como contexto, insights e conhecimento prévio para cada entidade) dos tipos de entidades que ela deve identificar.

    processor-version-genai-23

  5. Navegue até a guia Criar e selecione Importar documentos.

    processor-version-genai-18

  6. Selecione o caminho dos documentos e o conjunto em que eles serão importados. Marque a opção de rotulagem automática e selecione o modelo de fundação.

  7. Na guia Criar, selecione Gerenciar conjunto de dados.

  8. Quando os documentos importados aparecerem, selecione um deles.

    processor-version-genai-19

As previsões do modelo agora aparecem destacadas em roxo.

  1. Revise cada rótulo previsto pelo modelo e verifique se está correto.
  2. Se houver campos ausentes, adicione-os também.

    processor-version-genai-20

  3. Quando o documento for revisado, selecione Marcar como rotulado. O documento está pronto para ser usado pelo modelo.

  4. Verifique se o documento está no conjunto de teste ou treinamento.

Aninhamento de três níveis

O extrator personalizado agora oferece três níveis de aninhamento. Esse recurso oferece uma extração melhor para tabelas complexas.

É possível determinar o tipo de modelo usando as seguintes chamadas de API:

A resposta é um ProcessorVersion, que contém o campo modelType na prévia da v1beta3.

Procedimento e exemplo

Estamos usando este exemplo:

processor-version-genai-3

  1. Selecione Começar e crie um campo:

    • Crie o nível superior.
    • Neste exemplo, a officer_appointments é usada.
    • Selecione Este é um rótulo principal.
    • Selecione Ocorrência: Optional multiple.

    processor-version-genai-4 processor-version-genai-5 processor-version-genai-6

  2. Selecione Adicionar campo filho. Agora é possível criar o marcador de segundo nível:

    • Para esse marcador de nível, crie officer.
    • Selecione Este é um rótulo principal.
    • Selecione Ocorrência: Optional multiple.

    processor-version-genai-7 processor-version-genai-8

  3. Selecione Adicionar campo filho no segundo nível officer. Crie rótulos filhos para o terceiro nível de aninhamento. processor-version-genai-9

  4. Quando o esquema estiver definido, você poderá receber previsões de documentos com três níveis de aninhamento usando a rotulagem automática.

    processor-version-genai-10 processor-version-genai-11

Rotular entidades aninhadas em várias páginas

O processador pretrained-foundation-model-v1.5-2025-05-05 é compatível com aninhamento de três níveis em páginas.

  1. Rotule uma entidade normalmente em uma página. Observação: a entidade rotulada só vai ficar visível na página em que foi rotulada, e a barra de navegação muda de página para página. Ao fixar a entidade pai, essa barra de navegação permanece.

    processor-version-genai-25

  2. Fixe a entidade pai com os filhos que você quer rotular em todas as páginas.

    processor-version-genai-26

  3. Acesse a página com a entidade ou as entidades secundárias que você quer rotular.

processor-version-genai-27

Configuração do conjunto de dados

Um conjunto de dados de documentos é necessário para treinar, aprimorar o treinamento ou avaliar uma versão do processador. Os processadores da Document AI aprendem com exemplos, assim como os humanos. O conjunto de dados alimenta a estabilidade do processador em termos de desempenho.

Conjunto de dados de treinamento

Para melhorar o modelo e a acurácia dele, treine um conjunto de dados nos seus documentos. O modelo é composto de documentos com informações empíricas.
  • Para o ajuste fino, você precisa de pelo menos um documento para treinar um novo modelo com a versão para pretrained-foundation-model-v1.2-2024-05-10 e pretrained-foundation-model-v1.3-2024-08-31.
  • Para um aprendizado com poucos exemplos, recomendamos cinco documentos.
  • Para o zero-shot, apenas um esquema é necessário.

Conjunto de dados de teste

O conjunto de dados de teste é o que o modelo usa para gerar uma pontuação F1 (acurácia). Ele é composto por documentos com informações empíricas. Para saber com que frequência o modelo está certo, as informações empíricas são usadas para comparar as previsões do modelo (campos extraídos do modelo) com as respostas corretas. O conjunto de dados de teste precisa ter pelo menos um documento para pretrained-foundation-model-v1.2-2024-05-10 e pretrained-foundation-model-v1.3-2024-08-31.

Extrator personalizado com descrições de propriedades

Com as descrições de propriedades, é possível treinar um modelo descrevendo como são os campos rotulados. Você pode fornecer mais contexto e insights para cada entidade. Isso permite que o modelo seja treinado combinando campos que se encaixam na descrição fornecida e melhora a precisão da extração. As descrições de propriedades podem ser especificadas para entidades principais e secundárias.

Bons exemplos de descrições de propriedades incluem informações de local e padrões de texto dos valores de propriedade, que ajudam a eliminar possíveis fontes de confusão no documento. Descrições de propriedades claras e precisas orientam o modelo com regras que promovem extrações mais confiáveis e consistentes, independente da estrutura específica do documento ou das variações de conteúdo.

Atualizar o esquema de documento de um processador

Para saber como definir as descrições de propriedades, consulte Atualizar o esquema de documento.

Enviar uma solicitação de processamento com descrições de propriedades

Se o esquema de documento já tiver descrições definidas, envie uma solicitação de processamento com as instruções em Enviar uma solicitação de processamento.

Ajustar um processador com descrições de propriedades

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • LOCATION: a localização do seu processador, por exemplo:
    • us: Estados Unidos
    • eu: União Europeia
  • PROJECT_ID: o ID do projeto do Google Cloud .
  • PROCESSOR_ID: o ID do seu processador personalizado.
  • DISPLAY_NAME: nome de exibição do processador.
  • PRETRAINED_PROCESSOR_VERSION: o identificador da versão do processador. Consulte Selecionar uma versão do processador para mais informações. Por exemplo:
    • pretrained-TYPE-vX.X-YYYY-MM-DD
    • stable
    • rc
  • TRAIN_STEPS: etapas de treinamento para ajuste fino do modelo.
  • LEARN_RATE_MULTIPLIER: multiplicador da taxa de aprendizado para ajuste fino do modelo.
  • DOCUMENT_SCHEMA: esquema do processador. Consulte Representação de DocumentSchema.

Método HTTP e URL:

POST https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process

Corpo JSON da solicitação:

{
  "rawDocument": {
      "parent": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID",
         "processor_version": {
             "name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/DISPLAY_NAME",
             "display_name": "DISPLAY_NAME",
             "model_type": "MODEL_TYPE_GENERATIVE",
         },
         "base_processor_version": "projects/PROJECT_ID/locations/us/processors/PROCESSOR_ID/processorVersions/PRETRAINED_PROCESSOR_VERSION",
         "foundation_model_tuning_options": {
             "train_steps": TRAIN_STEPS,
             "learning_rate_multiplier": LEARN_RATE_MULTIPLIER,
         }
         "document_schema": DOCUMENT_SCHEMA
      }
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process" | Select-Object -Expand Content

A seguir

Treinar um processador especializado