강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

taesu님의 프로필 이미지
taesu

작성한 질문수

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

2.2 간단한 Retrieval 에이전트 (feat. PDF 전처리 꿀팁)

2.2 PDF 전처리 > PDF Loader

작성

·

163

0

안녕하세요.

강의에선 zeorx로 PDF -> Markdown 변환 후 UnstructuredMarkdownLoader로 split해서 document chunk를 얻는데요 혹시 UnstructuredPDFLoader를 통해서 한번에 load_and_split 하는것과는 어떤 차이가 있을까요?

 

UnstructuredLoader에서 요구하는 것이 패키지 외에도 pdf2image 모듈등이 있는것 같아서 실제로 시도해보지는 못했습니다.

답변 3

0

저도 비슷한 고민을 하다가 이것저것 실험해봤는데, 질문하신 두 방식은 결과물의 성격이 꽤 다르다고 느꼈습니다. zeorx로 PDF를 Markdown으로 바꾼 뒤 UnstructuredMarkdownLoader로 쪼개면 문단 구조나 헤더 흐름을 사람이 읽는 맥락에 맞게 정리하기 쉬워서, LLM에 넣을 때 의도치 않은 분절이 줄었습니다. 반면 UnstructuredPDFLoader는 한 번에 load_and_split이 가능해서 파이프라인은 단순하지만, 레이아웃·표·이미지에 민감하고 pdf2image나 OCR 의존성이 생기면서 환경 세팅 부담이 커지더군요. 저는 사전에 PDF를 정리할 때 https://pdfguru.com/ko/pdf-converter 같은 온라인 도구로 스캔본을 텍스트화하거나 불필요한 페이지를 정리한 뒤 진행했는데, 그 다음 Markdown 기반 분할이 안정적이었습니다. 결국 빠른 프로토타입이면 PDFLoader, 검색 품질을 중시하면 Markdown 경유가 낫다는 쪽으로 정리했습니다.

제이쓴님의 프로필 이미지
제이쓴
지식공유자

좋은 내용 공유해주셔서 감사합니다! Markdown으로 변환하면 헤딩을 통해서 제목이나 부제목 등의 context를 더 제공할 수 있기 때문에 PdfLoader를 통해서 단순 string으로 변환하는 것보다 더 좋은 결과를 내는게 아닌가 생각합니다.

0

제이쓴님의 프로필 이미지
제이쓴
지식공유자

안녕하세요! UnstructuredPDFLoader는 사용해 본 적이 없어서 잘 모르겠네요. unstructured는 원래 유료로 사용되는 서비스라, 유료결제하고 사용하면 꽤 괜찮은 결과를 기대할 수도 있을 것 같습니다

https://unstructured.io/

0

안녕하세요, 인프런 AI 인턴입니다. taesu님.

PDF를 처리할 때 두 가지 방법을 제시하셨는데, 각 방법은 서로 다른 접근 방식을 가지고 있습니다.

Zeorx를 사용한 Markdown 변환 후 UnstructuredMarkdownLoader 사용:

  • 변환 과정: PDF를 먼저 Markdown으로 변환한 후 해당 Markdown 파일을 UnstructuredMarkdownLoader로 로드합니다. 이 과정을 통해 PDF의 내용을 Markdown 형식으로 깔끔하게 정리할 수 있으며, 텍스트 기반의 문서 처리 시 유용합니다.
  • 장점: 특정한 포맷으로 변환하기 때문에 파일 구조가 단순해지고, 다른 텍스트 처리 기법을 적용하기 용이해집니다.

UnstructuredPDFLoader를 통한 직접 로드 및 스플릿:

  • 직접 로드: UnstructuredPDFLoader는 PDF 파일을 직접 읽고 문서를 처리하는 역할을 합니다. 이를 위해서는 pdf2image와 같은 외부 모듈이 필요합니다.
  • 장점: 별도의 변환 과정 없이 PDF 자체를 바로 로드하고 처리할 수 있어 편리합니다. 데이터의 원본 형태를 그대로 유지할 수 있다는 이점도 있습니다.

두 방법은 최종적으로 원하는 처리 결과에 따라 선택하시면 됩니다. 텍스트 형태의 데이터 처리를 중시한다면 Markdown으로의 변환이, 원본 PDF의 정보를 최대한 활용하고자 한다면 PDFLoader를 통해 직접 로드하는 방식이 적합합니다. 각 모듈에 필요한 라이브러리는 추가 설치가 필요할 수 있으니, 사용하기 전에 환경 설정을 확인하는 것이 중요합니다.

유사한 질문과 답변에 대해서는 아래 URL을 참고해 주시기 바랍니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

taesu님의 프로필 이미지
taesu

작성한 질문수

질문하기