JSONL ビューアと検証
JSONL ファイルを読み、絞り込み、問題をその行で報告します。
ログやデータセットはブラウザー内で読まれます。送信はされず、ページを閉じれば何も残りません。
学習データセットとして検証する
JSONL ビューア・検証 について
会話ログ、評価セット、学習データ、バッチジョブはどれも JSONL に行き着きます。そして、ふつうの JSON とは違う壊れ方をします。五万行の良い行の中に一行だけ悪い行。末尾の空行。実は各行の末尾にカンマの付いた整形済み配列だったファイル。四十メガバイトのファイルについて「不正な JSON」と言われても誰も助かりません。だからここではすべてを行単位で、エディターが表示するのと同じ行番号で報告します。空行はエラーとして数えずに読み飛ばし、配列が JSONL のふりをしている場合は検出してワンクリックの変換を用意します。
機能
- 各失敗をその行番号で報告
- 空行は行番号をずらさずに読み飛ばし
- JSONL として貼られた整形済み配列を検出して変換
- 全レコードにわたるキーと、それを持つレコード数
- ドット区切りのパス、またはレコード全体で絞り込み
- レコードを整形して一件ずつ確認
- JSON 配列との相互変換
- ファイルを置くか、貼り付けるか
JSONL ビューア・検証 の使い方
- .jsonl ファイルを置くか、貼り付けます
- 有効と無効の件数を確かめます
- 目当てのレコードに絞り込みます
- 一件ずつ見るか、配列として書き出します
例
入力
line 2: not json
出力
Unexpected token o in JSON at position 1
残る 49,999 行は解析済みのまま使えます。
よくあるエラーとトラブルシューティング
- すべての行が失敗する。 — おそらく JSONL ではなく整形済みの JSON 配列です。その場合は検出して変換を用意します。
- 行番号がエディターと合わない。 — 合うはずです。空行は解析では飛ばしますが、行番号はずらしません。
- 絞り込みのパスで何も見つからない。 — パスはドット区切りで、配列の添字は数字です(messages.0.content)。絞り込み欄の上のキー一覧が実際にあるものを示します。
- 巨大なファイルが遅い。 — すべてブラウザー内で解析するので、非常に大きなファイルはメモリに制約されます。待つより分割するほうが速いはずです。
よくある質問
- JSONL とは何ですか。
- 一行に一つの完結した JSON 値を置き、あいだにカンマも囲みの括弧も入れない形式です。ストリームや追記に向くのでログやデータセットで使われ、一行が壊れてもファイル全体が無効にはなりません。
- JSONL に見えるのに失敗するのはなぜですか。
- ほとんどの場合、整形済みの配列だからです。一つのオブジェクトが複数行にまたがり、各行の末尾にカンマが付いています。JSON としては妥当で JSONL としては不正で、ここでは検出して変換を用意します。
- パスでの絞り込みはどう働きますか。
- ドットで区切った区間で、配列の添字は数字です。そのパスの値を大文字小文字を区別しない部分一致で探すので、最初のメッセージの本文で絞り込むのも式一つです。
- 末尾の空行は問題ですか。
- いいえ。改行で終わるファイルは正常で正しい形です。空行は別に数えられ、エラーとして報告されることはありません。
- ファイルは送信されますか。
- いいえ。すべてブラウザー内で解析します。JSONL の中身を考えれば重要な点です。会話ログや学習データはチームの中でも最も機微なファイルです。
関連ツール
AI・エージェントの他のツール
AI・エージェントのツールをすべて見る · すべてのツール