>_toolkitbox

~/tools / AI JSONL Checker

AI JSONL Checker — Controlla riga per riga un file JSONL per batch o fine-tuning

Controlla riga per riga un file JSONL per l'OpenAI Batch API, l'Anthropic Message Batches API o il fine-tuning di OpenAI. Trova JSON non valido, valori custom_id duplicati, endpoint e parametri non supportati e superamenti dei limiti di dimensione prima del caricamento. Nulla lascia il tuo browser.

Formato

Regole verificate sulla documentazione il 2026-10-23.

Documentazione: OpenAI Batch / Anthropic Message Batches / OpenAI fine-tuning

Non controllato: nomi dei modelli, contenuto dei parametri, numero di token e regole che la documentazione non indica, per esempio se tutte le richieste di un batch OpenAI debbano usare lo stesso endpoint.

Tutto avviene nel tuo browser. Il file non viene caricato.

Le API batch e il fine-tuning accettano un file JSONL, cioè un valore JSON su ogni riga. Una sola riga errata può far fallire l'intero caricamento, e spesso l'errore indica il file e non la riga. Questo strumento legge il testo che incolli e lo controlla in base a quanto dice la documentazione per il formato scelto: per OpenAI Batch, un custom_id univoco, un endpoint tra quelli elencati, un solo modello per file e nessuno streaming; per Anthropic Message Batches, un custom_id di 1-64 tra lettere, numeri, trattini e trattini bassi e i parametri che un batch rifiuta; per il fine-tuning di OpenAI, un array messages su ogni riga, almeno 10 righe e un weight pari a 0 o 1. I risultati mostrano il numero di riga di ogni problema e le regole sono state verificate sulla documentazione alla data indicata sotto lo strumento.

Casi d'uso

  • Controllare un file di input batch prima di caricarlo, in modo che una riga errata non faccia fallire l'intero batch
  • Trovare valori custom_id duplicati, o una richiesta che imposta stream su true, in un file con migliaia di righe
  • Controllare i dati di fine-tuning alla ricerca di righe senza messages, senza risposta dell'assistant o con un weight diverso da 0 e 1

Utilizzo

  1. Scegli il formato: OpenAI Batch, Anthropic Message Batches oppure fine-tuning di OpenAI.
  2. Incolla il contenuto del file oppure carica l'esempio per quel formato.
  3. Leggi l'elenco dei problemi con i relativi numeri di riga. Correggi significa che, secondo la documentazione, la riga verrà rifiutata o non è valida; Verifica significa che vale la pena dare un'occhiata; Nota è solo informativa. Correggi il file e incollalo di nuovo.

FAQ

Che cos'è JSONL?

JSON Lines: un file di testo con un valore JSON completo su ogni riga e senza virgole tra le righe. La documentazione del fine-tuning di OpenAI richiede una struttura JSON completa su ogni riga. Un documento JSON distribuito su più righe, o un singolo array, non è JSONL.

L'Anthropic Message Batches API accetta un file JSONL?

Accetta un elenco di richieste, ciascuna con un custom_id e un oggetto params, nel parametro requests della chiamata di creazione. I risultati tornano come file .jsonl. Questo strumento tratta ogni riga come una richiesta e accetta anche un array JSON o un oggetto con un array requests.

Quali limiti controlla?

Per OpenAI Batch: 50.000 richieste per batch, un file di input da 200 MB e 50.000 input di embedding in tutto il batch. Per Anthropic: 100.000 richieste o 256 MB per batch. Per il fine-tuning di OpenAI: almeno 10 righe. La dimensione mostrata è quella in UTF-8 del testo incollato.

Perché una richiesta con stream impostato su true viene segnalata come problema?

La documentazione di OpenAI afferma che il worker Batch rifiuta le richieste che impostano stream su true. La documentazione di Anthropic elenca stream: true, speed, fallbacks e max_tokens: 0 tra i parametri che in un batch restituiscono un errore di validazione.

Che cosa non controlla?

I nomi dei modelli, il contenuto dei parametri, il numero di token, se l'endpoint è accettato dal tuo account e tutto ciò che la documentazione non indica. Per esempio, non dice se tutte le richieste di un batch OpenAI debbano usare lo stesso endpoint. Un file che supera il controllo può comunque fallire all'API, quindi prova prima con un file piccolo.

Il mio file viene inviato a un server?

No. Il controllo avviene nel tuo browser, quindi il contenuto non viene caricato.

Correlati