Gere schemas JSON estruturados a partir de dados de exemplo com IA, com autocorreção automática e pós-processamento inteligente.
A geração de esquemas transforma dados brutos de entidades num esquema JSON tipado e anotado que define exatamente que informação extrair durante o enriquecimento. Em vez de escrever esquemas manualmente, você cola JSON de exemplo e deixa a IA analisar a estrutura, inferir tipos, atribuir domínios de especialização e sugerir melhorias.
A geração não é um único prompt grande. É uma sequência de chamadas pequenas e de propósito único, na sua maioria executadas em simultâneo — é isso que permite que modelos pequenos e baratos produzam um esquema utilizável, já que cada chamada responde a uma única questão restrita sobre material que consegue abranger.
"8.275 h" torna-se half_life_seconds: 29790) e uma data que nenhum tipo nativo consegue representar passa a um ano inteiro. Todos os valores observados têm de comprovar a afirmação, caso contrário a propriedade permanece texto. É a amostra reescrita que fica guardada.{"en": "...", "fr": "..."}) são reduzidos a um único valor multilingue.Cada passo repete-se por conta própria (3 tentativas) e as suas respostas acumulam-se ao longo das tentativas, pelo que um modelo que responde em fragmentos acaba na mesma por convergir. Depois disso, o passo aceita o que obteve e as lacunas são preenchidas de forma determinística — um modelo fraco degrada as descrições em vez de fazer falhar a geração. Só a identidade e o encaminhamento de domínio podem fazer falhar toda a execução. Cada chamada é faturada e registada como um prompt próprio, pelo que o registo mostra exatamente o que foi gasto e onde.
Pode passar várias amostras do mesmo tipo de entidade em vez de apenas uma — o schema passa então a abranger a união dos seus campos, tudo o que faltar numa amostra torna-se anulável e os valores observados nelas tornam-se exemplos reais. Os nomes dos campos têm de coincidir: amostras que descrevem tipos de entidade diferentes são rejeitadas, tal como objetos dentro de uma matriz que não partilham nenhum campo, uma vez que nada restaria para identificar as suas linhas. O editor de amostras assinala qualquer diferença destas antes de gastar uma geração.
Os valores que incluem a sua própria unidade são convertidos em números antes de o esquema ser derivado, porque uma coluna com "8.275 h" e "85 ms" não pode ser ordenada, filtrada por intervalo nem agregada. A unidade passa para o nome da propriedade (half_life_seconds), um substituto não numérico como "stable" torna-se null e as datas anteriores ao ano 1 tornam-se um ano inteiro (negativo para a.C.), que nenhum tipo de data consegue armazenar e que o texto ordena incorretamente. O seu painel de amostra é atualizado em conformidade, para que mostre sempre a amostra que o esquema descreve. Tudo o que a conversão não conseguir ler com certeza é mantido exatamente como o escreveu.
Como cada passo responde a uma pergunta muito específica, a correção também pode ser específica: o validador de cada passo mantém tudo o que voltou utilizável e volta a pedir apenas o que falta. Nada é regenerado de raiz, por isso uma resposta parcialmente correta é progresso e não uma tentativa desperdiçada.
As oito regras de validação continuam a ser aplicadas ao esquema montado como verificação final — correção dos tipos, atribuição de domínio de especialidade, integridade das referências, completude. Nessa altura funcionam como rede de segurança e não como mecanismo de correção. Saiba mais sobre cada regra no guia Regras de Validação.
Um esquema gerado é mais do que uma simples definição de tipos. Cada propriedade inclui metadados que orientam o processo de enriquecimento:
Tipo de schema JSON (string, number, integer, boolean, array, object)
Descrição contextual que indica à IA que informação encontrar
Qual o domínio de especialização (financeiro, regulatório, etc.) que fornece este valor
Se este campo faz parte do que identifica a instância. As chaves desempenham as duas funções ao mesmo tempo: focam o prompt de enriquecimento na entidade certa e são aquilo pelo qual a fusão faz corresponder os itens de array. Uma chave pode continuar a admitir valor nulo — um qualificador que distingue irmãos parecidos continua a ser identificador mesmo quando famílias inteiras genuinamente não o têm
Quando os valores de uma string provêm de um conjunto pequeno e totalmente enumerável (estados, níveis, códigos de classificação), a geração propõe os membros — escritos tal como as suas amostras os escrevem — para que o enriquecimento não derive para um sinónimo
Se o campo pode ser null — os campos não anuláveis são obrigatórios para admissão na base de dados
Se o campo deve ser enriquecido em vários idiomas
Se deve manter o valor original inalterado durante o enriquecimento
Valores de exemplo realistas que orientam a IA para o formato correto
Formato verificável por máquina para valores de texto: as respostas malformadas são rejeitadas e repetidas, e os valores armazenados mantêm a forma canónica. A geração só declara um formato nomeado (date, time, date-time, uuid, email, uri, ipv4, ipv6) que as suas amostras comprovem — um padrão regex é uma previsão sobre valores que ainda ninguém viu e, se estiver errado, faz falhar todos os enriquecimentos do campo, pelo que esse é você que o adiciona no editor
A IA agrupa as propriedades do schema em domínios de especialização com base no seu significado semântico. Por exemplo, o schema de uma empresa farmacêutica pode ter domínios como “Analista Financeiro”, “Especialista Regulatório” e “Informação Corporativa”. Estes domínios são usados pela estratégia multi-especialização para executar chamadas de LLM paralelas e especializadas para resultados mais aprofundados.
O número de domínios de especialização é limitado automaticamente com base no número de propriedades dos seus dados para evitar a fragmentação excessiva:
Depois de montados os fragmentos, passos determinísticos resolvem tudo o que não deve ficar ao critério de um modelo — usando os seus dados de entrada reais como prova:
Um campo em falta ou nulo em qualquer amostra passa a ser anulável, independentemente do que o modelo tenha respondido, para que um valor desconhecido seja uma resposta aceite e não uma falha de qualidade dos dados. As amostras só podem alargar: um punhado de amostras prova a presença nessas instâncias, nunca em todas as instâncias do tipo — daí o modelo ter também direito a voto, e os dois serem combinados com OR.
Os atributos que não podem coexistir são reconciliados por regra, em vez de nova consulta: preserve prevalece sobre multilingual e nullable, um vocabulário fechado que sobreviva anula multilingual, e uma propriedade-chave nunca mantém um enum.
Todos os objetos dentro de um array têm garantidamente pelo menos uma propriedade-chave — é a unidade sobre a qual a fusão elimina duplicados, pelo que um item de array sem chave tornaria impossível combinar as respostas de dois modelos.
Todos os domínios de especialização únicos são recolhidos do schema para métricas e configuração de estratégia.
Um esquema descreve-se a si próprio num idioma — os nomes dos seus tipos, as descrições das propriedades, as etiquetas de especialidade e as sugestões. Isso é diferente dos idiomas para os quais enriquece. Indique um ao gerar, ou deixe em branco e o idioma dos nomes das propriedades da sua amostra decide: uma amostra em francês deixa de produzir um esquema em inglês. A escolha fica guardada, para que as edições posteriores por IA continuem a escrever no mesmo idioma em vez de voltarem ao inglês.
Não precisa de dados de exemplo para começar. Descreva o tipo de entidade — opcionalmente com documentos que lhe sirvam de base, ou com pesquisa web para o confrontar com a realidade — e a plataforma escreve os exemplos por si. Peça vários e obtém várias instâncias diferentes, não a mesma instância reformulada.
A primeira amostra também define sobre quem serão as restantes, na mesma chamada. Pedir N vezes de forma independente “um exemplo” devolve invariavelmente N vezes a mesma instância famosa; nomear todo o elenco à partida é o que as torna distintas.
As restantes amostras são geradas em paralelo face à estrutura da amostra 1, tomada como contrato, e não apenas com o pedido de a imitarem — pelo que uma variante não pode renomear, acrescentar ou eliminar um campo. As que ainda assim regressem duplicadas ou malformadas são pedidas de novo numa vaga de repetições limitada e, se o número total não for atingido, é-lhe comunicado em vez de receber silenciosamente menos amostras.
O idioma assume por predefinição auto, inferido a partir das palavras do seu próprio pedido e, depois, de qualquer documento anexado. As instruções adicionais que acrescentar são vinculativas: ou são cumpridas, ou a resposta indica o que não pôde ser cumprido e porquê — nunca são ignoradas em silêncio.
Leia o nome de uma propriedade no contexto do respetivo objeto pai e conte as coisas distintas que poderia estar a pedir. Uma é claro. Duas ou mais e cada modelo escolhe uma diferente, pelo que a coluna acaba por misturar respostas a perguntas diferentes — annual_revenue numa empresa pode ser o grupo ou a entidade, bruto ou líquido, numa de várias moedas. Nenhuma — um nome para algo que este elemento pai simplesmente não tem — é pior: sem nada para consultar, o modelo inventa um valor.
A geração combate isto duas vezes: o próprio prompt exige nomes que admitam uma única leitura e uma passagem posterior sobre o esquema concluído anota os que continuam a não a admitir. Nesta fase, a solução é uma renomeação — as descrições foram geradas a partir dos nomes, pelo que uma descrição não pode desambiguar o nome de que resultou, e nada depende ainda do esquema. A geração de amostras executa a mesma verificação sobre a amostra e aplica as renomeações antes de a ver. O texto livre — uma descrição, um resumo, notas — nunca é assinalado: a redação varia, mas a pergunta feita é clara.
As propriedades assinaladas apresentam um emblema «ambíguo» no Editor de Fluxos de Trabalho, com a lista das leituras que o nome admite. Assim que o esquema está em produção, a solução passa a ser uma descrição reescrita, que fixa um único significado sem quebrar o contrato de dados. Consulte o guia Verificação de Ambiguidade para conhecer os critérios completos e as respetivas soluções.
Ao gerar uma entidade de amostra a partir de uma descrição, pode ativar “Usar pesquisa na web” para permitir que o modelo procure factos atuais na web em vez de depender apenas dos seus dados de treino. Isto produz valores de amostra mais recentes e precisos — especialmente para factos que mudam rapidamente, como preços, número de funcionários ou lançamentos recentes. A opção só aparece para modelos cujo fornecedor suporta pesquisa na web integrada, e as chamadas de pesquisa são faturadas pelo fornecedor como qualquer outra utilização do modelo.
Após a geração, pode modificar esquemas com instruções em linguagem natural. Escreva um comando e a IA aplica a alteração, preservando a estrutura existente do seu esquema. Cada edição também produz 5 sugestões para melhorias adicionais.
Adicionar um campo inteiro employee_countCrie um objeto de morada aninhado com cidade e paísAdicionar descrições em francês a todos os campos de textoDefina uma referência de empresa-mãe usando $defsMarcar o campo do website como anulávelAs edições por IA são validadas usando um subconjunto das regras de geração (verificação de tipos, integridade de referências, consistência de especialização) sem comparar com os dados de entrada, uma vez que pode adicionar ou remover campos intencionalmente.
Tanto a geração de schema como a edição por IA produzem 5 sugestões específicas que abrangem diferentes categorias de melhoria:
As sugestões aparecem como chips clicáveis no Editor de Fluxo de Trabalho — clique num deles para preencher automaticamente o campo de edição de IA e aplicá-lo.