ZeroxPDFLoader는 Zerox 라이브러리를 활용하는 문서 로더입니다. Zerox는 PDF 문서를 이미지로 변환하고 비전 기능이 있는 언어 모델을 사용하여 처리한 다음 구조화된 Markdown 표현을 생성합니다. 이 로더는 비동기 작업을 허용하고 페이지 수준 문서 추출을 제공합니다.
통합 세부 정보
| 클래스 | 패키지 | 로컬 | 직렬화 가능 | JS 지원 |
|---|---|---|---|---|
| ZeroxPDFLoader | langchain_community | ❌ | ❌ | ❌ |
로더 기능
| 소스 | 문서 지연 로딩 | 네이티브 비동기 지원 |
|---|---|---|
| ZeroxPDFLoader | ✅ | ❌ |
설정
자격 증명
환경 변수에 적절한 자격 증명을 설정해야 합니다. 로더는 다양한 모델 및 모델 공급자를 지원합니다. 몇 가지 예제를 보려면 아래의 사용법 헤더를 참조하거나 지원되는 모델의 전체 목록을 보려면 Zerox 문서를 참조하세요.설치
ZeroxPDFLoader를 사용하려면 zerox 패키지를 설치해야 합니다. langchain-community도 설치되어 있는지 확인하세요.
초기화
ZeroxPDFLoader는 각 페이지를 이미지로 변환하고 비동기적으로 처리하여 비전 기능이 있는 언어 모델을 사용한 PDF 텍스트 추출을 가능하게 합니다. 이 로더를 사용하려면 모델을 지정하고 API 키와 같은 Zerox에 필요한 환경 변수를 구성해야 합니다.
Jupyter Notebook과 같은 환경에서 작업하는 경우 nest_asyncio를 사용하여 비동기 코드를 처리해야 할 수 있습니다. 다음과 같이 설정할 수 있습니다:
로드
지연 로드
로더는 항상 결과를 지연 로딩합니다..load() 메서드는 .lazy_load()와 동등합니다
API 레퍼런스
ZeroxPDFLoader
이 로더 클래스는 파일 경로와 모델 유형으로 초기화되며 Zerox 관련 매개변수를 처리하기 위한 zerox_kwargs를 통한 사용자 정의 구성을 지원합니다.
인수:
file_path(Union[str, Path]): PDF 파일 경로.model(str):<provider>/<model>형식으로 처리에 사용할 비전 기능이 있는 모델. 유효한 값의 몇 가지 예:model = "gpt-4o-mini" ## openai modelmodel = "azure/gpt-4o-mini"model = "gemini/gpt-4o-mini"model="claude-3-opus-20240229"model = "vertex_ai/gemini-1.5-flash-001"- 자세한 내용은 Zerox 문서 참조
- 기본값은
"gpt-4o-mini"입니다.
**zerox_kwargs(dict): API 키, 엔드포인트 등과 같은 추가 Zerox 관련 매개변수.- Zerox 문서 참조
lazy_load: 각 페이지 번호 및 소스를 포함한 메타데이터와 함께 PDF의 각 페이지를 나타내는Document인스턴스의 반복자를 생성합니다.
참고
- 모델 호환성: Zerox는 다양한 비전 기능이 있는 모델을 지원합니다. 지원되는 모델 목록 및 구성 세부 정보는 Zerox의 GitHub 문서를 참조하세요.
- 환경 변수: Zerox 문서에 지정된 대로
API_KEY또는 엔드포인트 세부 정보와 같은 필수 환경 변수를 설정해야 합니다. - 비동기 처리: Jupyter Notebook에서 이벤트 루프와 관련된 오류가 발생하면 설정 섹션에 표시된 대로
nest_asyncio를 적용해야 할 수 있습니다.
문제 해결
- RuntimeError: This event loop is already running: Jupyter와 같은 환경에서 비동기 루프 충돌을 방지하려면
nest_asyncio.apply()를 사용하세요. - 구성 오류:
zerox_kwargs가 선택한 모델에 대해 예상되는 인수와 일치하고 필요한 모든 환경 변수가 설정되어 있는지 확인하세요.
추가 리소스
- Zerox 문서: Zerox GitHub 저장소
- LangChain 문서 로더: LangChain 문서
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.