>_toolkitbox

~/tools / AI JSONL Checker

AI JSONL Checker — Verifique um JSONL de lote ou fine-tuning linha por linha

Verifique, linha por linha, um arquivo JSONL para a OpenAI Batch API, a Anthropic Message Batches API ou o fine-tuning da OpenAI. Encontre JSON inválido, valores de custom_id duplicados, endpoints e parâmetros não compatíveis e limites de tamanho antes de enviar. Nada sai do seu navegador.

Formato

Regras conferidas com a documentação em 2026-10-23.

Documentação: OpenAI Batch / Anthropic Message Batches / Fine-tuning da OpenAI

Não verificado: nomes de modelos, o conteúdo dos parâmetros, contagens de tokens e regras que a documentação não informa, como se todas as requisições de um mesmo lote da OpenAI precisam usar o mesmo endpoint.

Tudo roda no seu navegador. O arquivo não é enviado.

As APIs em lote e o fine-tuning recebem um arquivo JSONL, ou seja, um valor JSON em cada linha. Uma única linha inválida pode fazer o envio inteiro falhar, e o erro muitas vezes aponta para o arquivo, não para a linha. Esta ferramenta lê o texto que você cola e o verifica com o que a documentação diz sobre o formato escolhido: para o OpenAI Batch, um custom_id único, um endpoint listado, um único modelo por arquivo e nenhum streaming; para o Anthropic Message Batches, um custom_id de 1 a 64 letras, números, hífens e sublinhados e os parâmetros que um lote rejeita; e para o fine-tuning da OpenAI, um array messages em cada linha, pelo menos 10 linhas e um weight igual a 0 ou 1. Os resultados mostram o número da linha de cada problema, e as regras foram conferidas com a documentação na data exibida abaixo da ferramenta.

Casos de uso

  • Verificar um arquivo de entrada de lote antes de enviá-lo, para que uma linha inválida não faça o lote inteiro falhar
  • Encontrar valores de custom_id duplicados, ou uma requisição com stream definido como true, em um arquivo com milhares de linhas
  • Verificar dados de fine-tuning em busca de linhas sem messages, sem resposta do assistant ou com um weight diferente de 0 ou 1

Como usar

  1. Escolha o formato: OpenAI Batch, Anthropic Message Batches ou fine-tuning da OpenAI.
  2. Cole o conteúdo do arquivo ou carregue o exemplo desse formato.
  3. Leia a lista de problemas com os números das linhas. Corrigir significa que a documentação diz que a linha será rejeitada ou é inválida, Verificar significa que vale a pena dar uma olhada, e Nota é apenas informativa. Corrija o arquivo e cole-o novamente.

FAQ

O que é JSONL?

JSON Lines: um arquivo de texto com um valor JSON completo em cada linha e sem vírgulas entre as linhas. A documentação de fine-tuning da OpenAI pede uma estrutura JSON completa em cada linha. Um documento JSON distribuído por várias linhas, ou um único array, não é JSONL.

A Anthropic Message Batches API aceita um arquivo JSONL?

Ela aceita uma lista de requisições, cada uma com um custom_id e um objeto params, no parâmetro requests da chamada de criação. Os resultados voltam como um arquivo .jsonl. Esta ferramenta trata cada linha como uma requisição e também aceita um array JSON ou um objeto com um array requests.

Quais limites ela verifica?

Para o OpenAI Batch: 50.000 requisições por lote, um arquivo de entrada de 200 MB e 50.000 entradas de embeddings em todo o lote. Para a Anthropic: 100.000 requisições ou 256 MB por lote. Para o fine-tuning da OpenAI: pelo menos 10 linhas. O tamanho exibido é o tamanho em UTF-8 do texto que você colou.

Por que ela diz que uma requisição com stream definido como true é um problema?

A documentação da OpenAI diz que o worker do Batch rejeita requisições que definem stream como true. A documentação da Anthropic lista stream: true, speed, fallbacks e max_tokens: 0 como parâmetros que retornam um erro de validação em um lote.

O que ela não verifica?

Nomes de modelos, o conteúdo dos parâmetros, contagens de tokens, se o endpoint é aceito pela sua conta e qualquer coisa que a documentação não informe. Por exemplo, ela não diz se todas as requisições de um mesmo lote da OpenAI precisam usar o mesmo endpoint. Um arquivo aprovado ainda pode falhar na API, então teste primeiro com um arquivo pequeno.

Meu arquivo é enviado para um servidor?

Não. A verificação roda no seu navegador, então o conteúdo não é enviado.

Relacionados