json_repair: ヒューリスティックとスキーマガイダンスを使用してLLMやAPIからの不正なJSONを修復するPythonライブラリ

json_repair: ヒューリスティックとスキーマガイダンスを使用してLLMやAPIからの不正なJSONを修復するPythonライブラリ

何を解決するか

json_repairは、LLM、API、またはログからデータを受け取る際に頻繁に発生する、不正なJSON文字列を処理するために設計されています。引用符の欠落、カンマの配置ミス、閉じられていないブラケット、不要な文章など、通常であればjson.loads()のような標準的なJSONパーサーが失敗する原因となる一般的な構文エラーを修正します。

仕組み

このライブラリは、BNF定義に基づいてJSONを解析し、エラーを修正するためにヒューリスティックを適用します。不足している括弧を自動的に追加し、引用符のない文字列に引用符を付け、空白や改行をクリーンアップします。デフォルトでは、まず標準ライブラリのjson.loads()を使用して厳密な解析を試行し、それが失敗した場合にのみ修復パーサーにフォールバックします。

対象者

LLMが生成したJSONに依存するAIアプリケーションを構築している開発者、および、厳密なJSON準拠が保証されないログやユーザー入力のような信頼性の低いデータソースを処理する開発者。

ハイライト

  • Drop-in Replacement: json.loads()およびjson.load()の直接的な代替として使用できます。
  • Schema-Guided Repair: JSON SchemaまたはPydantic v2モデルをサポートしており、欠落した値を補完し、スカラー値を強制変換し、許可されていないプロパティを削除します。
  • Streaming Support: ストリーミング出力中に部分的なJSONを安定させるためのstream_stableモードが含まれています。
  • Strict Mode: 構造的な問題が発生した場合に修復するのではなく、エラーを発生させるstrict=Trueオプションを提供します。
  • CLI Tool: JSONファイルを修復したり、stdin経由でデータをパイプしたりするためのコマンドラインインターフェースを提供します。

Sources