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
- 프로젝트
- 프로젝트