PT EN
Back to site
This page hasn't been translated yet — showing the Portuguese version.

Contexto a partir de dados abertos — pelo DATTA Captain

Um conjunto de dados publicado na internet (Receita Federal, Portal da Transparência, CVM, Banco Central) vira um contexto da plataforma sem template, sem script e sem desenhar o pacote à mão: você descreve o pedido ao DATTA Captain, ele inspeciona a publicação e o dicionário de dados, monta o pacote do Datta Extract e executa a primeira carga — tudo com o modelo de IA configurado em Sistema › IA (Gemini Flash ou o modelo on-premises).

O pedido

Escreva como pediria a um analista:

crie um novo contexto chamado CAFIR com os dados do site https://arquivos.receitafederal.gov.br/index.php/s/RRmcpB2tf5cXskz. O dicionário de dados é https://arquivos.receitafederal.gov.br/index.php/s/EEB7HTqbzasD4oS

Dois endereços bastam: onde estão os dados (um arquivo, uma pasta ou o link de compartilhamento público de uma pasta) e onde está o dicionário (PDF, página ou texto que descreve os campos).

O que o Captain faz com ele

O pedido vira uma operação da plataforma, não uma sequência de cliques: ela cria o contexto, grava os prompts, monta o modelo de dados, cria o pacote de carga e dispara a primeira execução — nessa ordem, com o que falhar virando aviso na resposta em vez de sumir.

A carga não é opcional. Um contexto alimentado por um conjunto de dados publicado, sem o pacote que traz os arquivos, nasce vazio — e o cartão de confirmação é onde essa decisão pertence: o plano mostra a carga junto, e quem não a quiser recusa o plano.

Passo a passo

  1. Inspeciona a fonte. Lista a pasta, conta os arquivos e o tamanho, reconhece as publicações lado a lado (no CAFIR, nove meses × 38 UFs), baixa só o começo de um arquivo e mede: codificação, delimitador ou largura fixa da linha, cabeçalho. Nada disso é adivinhado — é contado.
  2. Lê o dicionário. Extrai o texto do documento e, quando o modelo em uso enxerga imagem (Gemini), entrega também o PDF inteiro: é assim que a tabela de campos publicada como imagem chega ao modelo.
  3. Monta o plano — e para para você confirmar. O cartão mostra os passos e o corpo exato de cada um: criar o contexto (banco de grafo e índice de busca próprios), criar o pacote com a origem, as transformações e os destinos no contexto, e executar a primeira carga.
  4. Executa depois do seu "sim" e mostra onde conferir: Sistema › Contextos e Datta Extract › Pacotes.

Leitura corre livre; toda escrita passa pela confirmação. O plano nunca inventa uma coluna: quando a soma dos tamanhos do dicionário não fecha com a largura medida da linha, o Captain diz isso e pergunta.

Os prompts e o modelo de dados saem do dicionário

Dois artefatos que antes o operador escrevia à mão passam a nascer do próprio dicionário de dados (ou, quando ele não existe, da amostra medida dos arquivos):

  • Prompt de sistema — o que este contexto guarda, de que fonte, com que atualização, e o que a IA deve e não deve afirmar sobre ele. Sem ele, o contexto responde com o texto genérico da plataforma sobre um conjunto que é específico.
  • Prompt de extração de entidades — que entidade extrair de cada registro, com quais propriedades e em que formato cada uma aparece no dado.
  • Modelo de dados inicial — a entidade âncora (o substantivo do registro), a propriedade que identifica cada linha, e os campos com seus tipos. É ele que vira o destino no grafo e o mapeamento do índice de busca: o que se filtra nasce como termo exato, o que se busca por palavra nasce como texto.

Quando a conta não fecha — a soma das larguras do layout não bate com a linha medida, ou o dicionário não traz a tabela de campos e o modelo em uso não enxerga imagens — o Captain pergunta em vez de inventar coluna.

Pacote de carga sem criar contexto

O mesmo raciocínio serve sozinho: "crie um pacote de ETL desses arquivos" ou "...desse banco" produz só o pacote, sem contexto nenhum. Para arquivos, o Captain descobre o que há na origem (diretório, bucket, endereço web); para banco, percorre esquemas, tabelas e colunas de uma conexão já cadastrada — as colunas são o dicionário daquela origem — e confere numa amostra antes de montar o desenho.

O que a origem do pacote passou a aceitar

O nó URL / Web Scraping ganhou três campos, que o Captain preenche a partir da inspeção — e que você pode usar direto no Designer:

CampoPara quê
Formato fixo com ColunasArquivo posicional (largura fixa), sem cabeçalho nem delimitador. As colunas são uma lista de {nome, tamanho} na ordem do dicionário; a posição inicial é opcional (cada coluna começa onde a anterior termina).
Padrão de arquivoLiga o modo pasta: a URL é uma pasta (ou o link do compartilhamento) e todos os arquivos cujo nome casa com a expressão regular são lidos em sequência, como um fluxo só. O grupo de captura 1 é o código da publicação.
PublicaçãoCom o padrão capturando a publicação: mais-recente lê só os arquivos da maior chave (a publicação atual); todas lê tudo o que casa.

O mesmo formato fixo existe no nó Arquivo — para a variante sem internet, com os arquivos copiados para o armazenamento de objetos da plataforma.

Exemplo, o CAFIR: 13 colunas que somam 245 caracteres, padrão ^K34313UF\.D(\d{5})\..*\.csv$, publicação mais-recente. Cada execução mensal lê a publicação nova sem ninguém reescrever nomes de arquivo.

Dicionário longo

O texto do dicionário chega em partes: cada leitura traz um trecho e diz se há continuação. O Captain busca as partes seguintes sozinho até ler o documento inteiro — um dicionário com dezenas de campos não caberia numa leitura só, e concluir o layout pela metade seria pior que demorar.

Quando o modelo não enxerga imagem

O dicionário do CAFIR traz a tabela de campos como imagem dentro do PDF; só as tabelas de código são texto. Com um modelo só de texto (o Qwen on-premises), o Captain recebe o texto extraído e a amostra medida, avisa que a tabela pode não estar no texto e pede as colunas — nome e tamanho, na ordem — em vez de inventar. Informe e ele segue o mesmo plano. Com um modelo com visão, a tabela é lida do próprio PDF.

Limitações conhecidas

  • A publicação precisa responder a partir do servidor da plataforma. Se o provedor bloqueia o endereço de saída (a Receita Federal reseta a conexão de alguns provedores de nuvem), a inspeção e a carga falham na rede — use a variante por arquivo com os dados copiados para o armazenamento de objetos.
  • Não há reconhecimento óptico de caracteres na plataforma: dicionário só-imagem com modelo só-texto depende de você informar as colunas.
  • Arquivos compactados na pasta (zip) exigem informar a compressão e a entrada do zip na origem, como já acontecia no arquivo único.