Exportar compilações de modelo do Document AI

Você pode exportar compilações de modelo do Document AI para uma área de preparação interna. Como resultado, os arquivos de documento são exportados e o arquivo de anotações é gerado. Você pode usar os dados exportados para vários fins, como criar Conjuntos de dados do Snowflake e extrair informações usando a função AI_EXTRACT.

Pré-requisitos

  • Para usar o Document AI, você deve ter os privilégios necessários. Para obter mais informações sobre os privilégios, consulte Configuração de Document AI.

  • Para exportar uma compilação de modelo do Document AI, você deve ter o privilégio WRITE em uma área de preparação de destino.

    Nota

    A área de preparação de destino deve ser interna.

Exportar uma compilação de modelo do Document AI

  1. Faça login no Snowsight.

  2. No menu de navegação, selecione AI & ML » Document AI.

  3. Selecione um warehouse.

    A lista de compilações de modelo existentes é exibida.

  4. Selecione o menu (mais) ao lado do nome da compilação de modelo e escolha Export.

  5. Na caixa de diálogo Export Build que aparece, selecione uma área de preparação de destino na lista e confirme selecionando Export.

  6. Quando o processo de exportação for concluído, feche a caixa de diálogo selecionando Close.

    Nota

    Você pode fechar a caixa de diálogo antes que o processo de exportação seja concluído. Fechar a caixa de diálogo não cancela o processo de exportação.

    A compilação do modelo é exportada para a área de preparação de destino. Isso significa que o diretório da área de preparação de destino agora contém todos os documentos da versão mais recente dessa compilação de modelo do Document AI e o arquivo annotations.jsonl.

O arquivo de anotações

Quando você exporta uma compilação de modelo do Document AI, o arquivo annotations.jsonl é gerado no diretório de destino. Para cada documento exportado, o arquivo contém as seguintes informações:

  • file: Identificador do nome do arquivo

  • prompt: esquema JSON que descreve os prompts

  • annotatedResponse: Respostas do usuário em um formato consistente com o esquema

  • modelResponse: Respostas que não foram modificadas pelo usuário

Considere o seguinte exemplo de linha do arquivo annotations.jsonl:

{
  "file": "5d8c22ebe1e9a9b4bc92f611c02a745b_00.pdf",
  "prompt": {
    "type": "object",
    "properties": {
      "information": {
        "description": "Employee information",
        "type": "object",
        "properties": {
          "name": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "address": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "city": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "data": {
        "description": "",
        "type": "object",
        "properties": {
          "ssid": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "employeeid": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "startdate": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "enddate": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "deductions": {
        "description": "",
        "type": "object",
        "properties": {
          "deductions name": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "current": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "annotatedResponse": {
    "information": {
      "name": [
        "John Doe"
      ],
      "address": [
        "Dakota Avenue Powder River, WY 82648"
      ],
      "city": [
        "Powder River, WY 82648"
      ]
    },
    "data": {
      "ssid": [
        "123-45-6789"
      ],
      "employeeid": [
        "34528"
      ],
      "startdate": [
        "06/15/2018"
      ],
      "enddate": [
        "06/30/2018"
      ]
    },
    "deductions": {
      "deductions name": [
        "Federal Tax",
        "Wyoming State Tax",
        "SDI",
        "Soc Sec / OASDI",
        "Health Insurance Tax",
        "None"
      ],
      "current": [
        "82.50",
        "64.08",
        "None",
        "13.32",
        "91.74",
        "21.46"
      ]
    }
  },
  "modelResponse": {}
}

Trabalhar com os dados exportados

Após exportar uma compilação de modelo do Document AI, você pode criar uma tabela com os dados exportados para processamento posterior:

  1. Criar um formato de arquivo para o arquivo de anotações:

    CREATE OR REPLACE FILE FORMAT my_json
      TYPE = 'JSON';
    
    Copy
  2. Crie uma tabela:

    CREATE OR REPLACE TABLE exported_data_table AS (
       SELECT
          input_file.$1:file AS file,
          input_file.$1:prompt AS prompt,
          input_file.$1:annotatedResponse AS response
       FROM '@docai_db.docai_schema.docai_stage/docai_test_2025_10_03_16_00_10/annotations.jsonl' (FILE_FORMAT => my_json) input_file
       WHERE response != '{}'
    );
    
    Copy

Agora você pode converter os dados exportados em um conjunto de dados para uso posterior no Snowflake ou executar a função AI_EXTRACT usando estes dados:

  • Crie um conjunto de dados para os dados exportados:

    CREATE DATASET my_dataset;
    
    ALTER DATASET my_dataset
    ADD VERSION 'v2' FROM (
      SELECT
        CONCAT('@docai_db.docai_schema.docai_stage/docai_test_2025_10_03_16_00_10/', file) AS file,
        prompt,
        response
      FROM exported_data_table
    );
    
    Copy

    Para obter mais informações sobre conjuntos de dados, consulte Conjuntos de dados do Snowflake.

  • Executar AI_EXTRACT usando os dados exportados:

    SELECT
    AI_EXTRACT (
      file => TO_FILE('@docai_db.docai_schema.docai_stage/docai_test_2025_10_03_16_00_10', my_table.file),
      responseFormat => PARSE_JSON('{ "schema": ' || TO_VARIANT(my_table.schema) || '}')
      )
    FROM docai_db.docai_schema.exported_data_table AS my_table;
    
    Copy