inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

2.2 PDF 전처리 > PDF Loader

198

taesu

작성한 질문수 2

0

안녕하세요.

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

 

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

프롬프트엔지니어링 llm ai-agent langgraph mcp

답변 3

0

Tim Smith

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

0

제이쓴

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

0

제이쓴

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

https://unstructured.io/

0

인프런 AI 인턴

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

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

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

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

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

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

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

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

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

깃허브 레포지토리 확인 요청

0

25

2

제공해주신 레포가 Windows 환경에 너무 비친화적입니다.

0

60

2

마크다운을 텍스트 파일로 변환하기

0

55

1

max token을 제한하는게 왜 성능을 개선하게 되는걸까요?

0

68

2

pyzerox 유니코드 에러

0

89

2

영상 메타데이터 생성 관련 LLM 활용 질문

0

88

1

종합부동산세 부분 tool 사용 질문 드립니다.

0

87

2

uv sync 파이썬 버전문제 onnxruntime

-1

132

2

MCP를 활용해서 간단한 에이전트를 만들어보세요

0

108

1

PDF 형식

0

77

1

5.3 langchain-mcp-adpater를 활용한 MCP 도구 사용 tool_list 지연 사유

0

103

2

3.6 human_in_the_loop 3rd case

0

90

1

summary 를. 시스템메세지에 추가하는 부분에 관하여

0

92

3

병렬 처리 중 retrieve 관련 궁금한 사항

0

84

1

query 에 대한 answer 결과값이 나오지 않습니다.

0

106

2

사람과 관련된 표현이 없는데 rewrite 로 이동하지 않는경우

0

83

1

retriever 관련 질문

0

67

1

인터룹 관련 질문

0

52

2

2.4 Self-RAG 결과가 달라요!

0

84

2

md vs txt 차이..

0

167

2

OpenAI API 호출 때문에 발생하는 Error code: 429 문제

0

129

2

단순 도구 사용과 도구를 가진 에이전트를 사용하는 것의 차이가 궁금합니다.

0

91

1

LangChain과 LangGraph v1

0

143

1

2.4 강의 관련 질문(답변을 검증하는 self rag)

0

79

2