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
- undefinedmangiucugna/json_repair