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 模型來填充缺失值、強制轉換類型並丟棄不允許的屬性。
- 串流支援: 包含
stream_stable模式,可在數據串流傳輸時保持部分 JSON 的穩定性。 - 嚴格模式: 提供
strict=True選項,在出現結構問題時拋出錯誤而不是進行修復。 - CLI 工具: 提供用於修復 JSON 檔案或透過 stdin 管道傳輸數據的命令列介面。
相關
- 專案
- 專案
- Dispatch
- 專案
- 專案