langextract: 정확한 검증을 위해 데이터를 소스 텍스트로 매핑하는 구조화된 정보 추출 라이브러리

langextract: 정확한 검증을 위해 데이터를 소스 텍스트로 매핑하는 구조화된 정보 추출 라이브러리

해결하는 문제

LangExtract는 비정형 텍스트 문서에서 구조화된 정보를 추출하도록 설계된 Python 라이브러리입니다. 이 라이브러리는 임상 노트나 보고서와 같이 정돈되지 않은 자유 형식의 텍스트를 조직화된 데이터로 변환하는 문제를 해결하며, 추출된 모든 정보가 쉬운 검증을 위해 소스 텍스트에 근거하도록 보장합니다.

작동 방식

이 라이브러리는 대규모 언어 모델(LLMs)과 퓨샷(few-shot) 프롬프팅 전략을 사용합니다. 사용자는 프롬프트와 텍스트가 구조화된 엔티티로 어떻게 매핑되어야 하는지에 대한 몇 가지 고품질 예시를 제공하여 추출 작업을 정의합니다. 긴 문서를 처리하기 위해 텍스트 청킹, 병렬 처리 및 재현율을 높이기 위한 다중 추출 패스를 사용하는 전략을 채택합니다.

대상 사용자

모델을 미세 조정(fine-tuning)하지 않고 비정형 텍스트를 구조화된 데이터셋으로 변환해야 하는 개발자와 연구자를 위해 구축되었습니다. 특히 추적 가능성과 정밀도가 요구되는 의료 보고서나 문학 분석과 같은 도메인 특화 문서를 다루는 사용자에게 유유용합니다.

주요 특징

  • 정확한 소스 근거 제시: 시각적 추적 가능성을 위해 추출된 내용을 소스 텍스트의 정확한 문자 구간에 매핑합니다.
  • 신뢰할 수 있는 구조화된 출력: 일관된 스키마를 강제하기 위해 (지원되는 모델의 경우) 제어된 생성(controlled generation)과 퓨샷 예시를 사용합니다.
  • 긴 문서 최적화: "needle-in-a-haystack" 문제를 극복하기 위해 병렬 처리와 다중 패스를 사용합니다.
  • 대화형 시각화: 추출된 엔티티를 원래의 문맥 내에서 시각화하기 위해 독립형 HTML 파일을 생성합니다.
  • 유연한 LLM 지원: 클라우드 모델(Gemini, OpenAI) 및 Ollama를 통한 로컬 모델과 호환됩니다.
  • 확장 가능한 프로바이더 시스템: 플러그인 시스템을 통해 사용자가 커스텀 LLM 프로바이더를 추가할 수 있도록 합니다.

Sources