mangiucugna/json_repair
Repair malformed JSON from LLMs, APIs, logs, and user input in Python.
解決する課題
json_repairは、LLMの出力、API、ログ、またはユーザー入力から頻繁に発生する不正なJSON文字列を処理するために設計されています。引用符の欠落、カンマの位置ミス、閉じられていないブラケット、不要な文章など、通常の json.loads() のような標準的なJSONパーサーではエラーになる一般的な構文エラーを修正します。
仕組み
このライブラリはBNF定義に基づいてJSONを解析し、ヒューリスティックを適用して構造的な問題を修正します。不足している括弧を自動的に追加し、引用符のない文字列に引用符を付け、空白や改行をクリーンアップします。デフォルトでは、まず厳密な json.loads() チェックを試行し、失敗した場合は独自の修復パーサーにフォールバックしてデータを救出します。
対象者
非決定的なソースからの構造化データに依存するアプリケーションを構築している開発者、特に、わずかに無効なJSONを生成する可能性のあるLLMを統合している開発者に適しています。
特徴
- そのまま置き換え可能:
json.loads()およびjson.load()の直接的な代替として使用できます。 - スキーマによる修復: JSON SchemaまたはPydantic v2モデルを使用して、欠落した値の補完、型の強制、許可されていないプロパティの削除をサポートします。
- ストリーミング対応: データがストリーミングされている間に部分的なJSONを安定させる
stream_stableモードが含まれています。 - 厳格モード: 構造的な問題が発生した際に修復するのではなく、エラーを発生させる
strict=Trueオプションを提供します。 - CLIツール: JSONファイルを修復したり、stdin経由でデータをパイプしたりするためのコマンドラインインターフェースを提供します。
関連
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト