>_toolkitbox

~/tools / AI JSONL Checker

AI JSONL Checker — バッチやファインチューニング用の JSONL を 1 行ずつ確認

OpenAI Batch API、Anthropic Message Batches API、OpenAI ファインチューニング用の JSONL ファイルを、1 行ずつ確認します。アップロードする前に、不正な JSON、重複した custom_id、対応していないエンドポイントやパラメータ、サイズの上限を見つけられます。入力した内容はブラウザの外に出ません。

形式

ルールは 2026-10-23 時点のドキュメントで確認しています。

ドキュメント: OpenAI Batch / Anthropic Message Batches / OpenAI ファインチューニング

確認しないもの: モデル名、パラメータの中身、トークン数、ドキュメントに書かれていないルール(たとえば、1 つの OpenAI バッチ内のすべてのリクエストが同じエンドポイントでなければならないかどうか)。

すべてブラウザ内で処理されます。ファイルはアップロードされません。

バッチ API やファインチューニングでは JSONL ファイルを使います。JSONL とは、1 行ごとに 1 つの JSON 値を書くファイルです。1 行でも不正な行があるとアップロード全体が失敗することがあり、しかもエラーは行ではなくファイルそのものを指していることがよくあります。このツールは、貼り付けたテキストを、選んだ形式についてドキュメントに書かれている内容と照らし合わせます。OpenAI Batch では、重複しない custom_id、記載されたエンドポイント、1 ファイル 1 モデル、ストリーミングなし。Anthropic Message Batches では、英数字・ハイフン・アンダースコアで 1〜64 文字の custom_id と、バッチで拒否されるパラメータ。OpenAI ファインチューニングでは、各行の messages 配列、10 行以上であること、0 または 1 の weight です。結果には問題のある行の番号が表示されます。ルールを確認したドキュメントの日付は、ツールの下に表示しています。

こんな時に使う

  • バッチの入力ファイルをアップロードする前に確認して、1 行の不具合でバッチ全体が失敗するのを防ぐ
  • 数千行あるファイルの中から、重複した custom_id や、stream を true にしているリクエストを見つける
  • ファインチューニング用データで、messages がない行、assistant の返答がない行、weight が 0 でも 1 でもない行を確認する

使い方

  1. 形式を選びます。OpenAI Batch、Anthropic Message Batches、OpenAI ファインチューニングから選べます。
  2. ファイルの内容を貼り付けます。その形式のサンプルを読み込むこともできます。
  3. 行番号つきの問題の一覧を確認します。「修正」はドキュメント上で拒否される、または不正とされる行、「確認」は見ておいたほうがよい点、「補足」は情報のみです。ファイルを直して、もう一度貼り付けてください。

FAQ

JSONL とは何ですか?

JSON Lines の略で、1 行ごとに完結した 1 つの JSON 値を書き、行と行の間にカンマを入れないテキストファイルです。OpenAI のファインチューニングのドキュメントも、各行に 1 つの完結した JSON 構造を求めています。複数行にわたる JSON ドキュメントや、1 つの配列は JSONL ではありません。

Anthropic Message Batches API は JSONL ファイルを受け付けますか?

作成の呼び出しでは、requests パラメータに、custom_id と params オブジェクトを持つリクエストのリストを渡します。結果は .jsonl ファイルで返ります。このツールは 1 行を 1 つのリクエストとして扱い、JSON 配列や、requests 配列を持つオブジェクトも読み取れます。

どの上限を確認しますか?

OpenAI Batch では、1 バッチ 50,000 リクエスト、入力ファイル 200 MB、バッチ全体で埋め込みの入力 50,000 件です。Anthropic では、1 バッチ 100,000 リクエストまたは 256 MB です。OpenAI ファインチューニングでは、10 行以上です。表示されるサイズは、貼り付けたテキストの UTF-8 でのサイズです。

stream を true にしたリクエストが問題とされるのはなぜですか?

OpenAI のドキュメントによると、Batch の処理側は stream を true にしたリクエストを拒否します。Anthropic のドキュメントでは、stream: true、speed、fallbacks、max_tokens: 0 が、バッチ内でバリデーションエラーになるパラメータとして挙げられています。

何を確認しませんか?

モデル名、パラメータの中身、トークン数、そのエンドポイントがお使いのアカウントで使えるかどうか、ドキュメントに書かれていないことは確認しません。たとえば、1 つの OpenAI バッチ内のすべてのリクエストが同じエンドポイントでなければならないかどうかは判断しません。チェックに通ったファイルでも API で失敗することがあるため、まず小さなファイルで試してください。

ファイルはサーバーに送信されますか?

いいえ。確認はブラウザ内で行われるため、内容がアップロードされることはありません。

Related