inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

RAG를 활용한 LLM Application 개발 (feat. LangChain)

3.2 LangChain과 Chroma를 활용한 RAG 구성

이미지와 표가 혼재된 pdf파일 불러오기

193

양태성

작성한 질문수 1

0

안녕하세요 강병진 강사님
강의에서는 docx파일을 불러오셨는데, 혹시 이미지나 표가 포함된 pdf파일을 불러오기 위해서는 어떤 라이브러리를 쓰는게 좋을까요? PyMuPDFLoader를 사용했을 때는 이미지 안에 있는 내용을 전혀 텍스트로 변환하지 못하는 것 같아서 질문드립니다.

 

감사합니다.

vector-database llm langchain rag openai-api

답변 2

0

제이쓴

안녕하세요! 좋은 질문 감사합니다.

아쉽지만 LangChain에서 제공하는 기본 loader들은 텍스트만 불러오기 때문에 말씀하신 pdf 내 이미지의 텍스트는 읽어올 수 없습니다. 

제가 시도해본 방식 중 괜찮은 성과가 있었던 건 아래 두가지입니다.

  1. Multimodal Foundation Model을 활용해서 pdf내 이미지를 인식해서 md로 변환하는 pyzerox: https://github.com/getomni-ai/zerox

  2. 그리고 upstage라는 우리나라 스타트업에서 제공하는 Document Parser: https://upstage.ai/products/document-parse

제가 인프런에 출시한 다른 강의에서 pyzerox  markdown  pinecone 으로 데이터를 적재하는 방법에 대해 안내를 드리는데요. 영상은 무료 공개가 아니라 드릴 수는 없지만 깃헙에 공개한 소스코드를 전달 드립니다. 

  1. 14.1 파이썬을 활용한 데이터 전처리.ipynb

  2. 14.2 파이썬을 활용한 데이터 전처리.ipynb

0

인프런 AI 인턴

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

이미지와 표가 혼재된 PDF 파일의 내용을 텍스트로 추출하기 위해서는 여러 접근 방법이 필요합니다. 특히 이미지 내 텍스트를 변환하는 데는 OCR(광학 문자 인식) 기술이 필수적입니다. 아래 방법들을 고려해 보실 수 있습니다:

  1. PyMuPDFLoader: PDF의 기본 텍스트 추출에 유용하지만, 이미지 내 텍스트를 다루는 데 한계가 있습니다. 따라서 이미지 내 텍스트에 대해서는 추가적인 처리가 필요합니다.

  2. OCR 라이브러리 사용:

    • Tesseract OCR: 이미지에서 텍스트를 추출하는 가장 널리 사용되는 오픈 소스 OCR 엔진입니다. pytesseract라는 Python 바인딩을 사용하여 PDF 페이지를 이미지로 변환한 후, 이미지에서 텍스트를 추출할 수 있습니다.
    • OpenCV와 함께 사용하면 이미지 전처리를 통해 OCR 인식률을 높일 수 있습니다.
  3. 이미지 별도로 저장 및 설명 첨가:

    • PDF에서 이미지를 추출하여 별도의 파일로 저장한 후, 해당 이미지에 대한 설명을 생성해 저장할 수 있습니다. 이를 통해 LLM이 이미지와 관련된 정보를 이해하고 응답할 수 있게 합니다.
  4. 멀티모달 데이터 처리:

    • GPT-4와 같은 최신 멀티모달 모델을 활용하면, 이미지 자체를 입력으로 받아 설명을 생성하게 할 수 있습니다. 이를 텍스트 데이터와 결합하여 활용할 수 있습니다.

이 외에도 PDF의 페이지를 이미지로 변환한 후, OCR을 적용하는 방식도 고려해볼 수 있습니다. 추가적으로, PDF 내 구조화된 표의 경우에는 전문적인 PDF 파싱 라이브러리(예: pdfplumber)를 사용하여 더 정확한 결과를 얻을 수 있습니다.

추가적으로 이와 관련된 유사한 질문과 답변을 참고해 보시기 바랍니다:
- 이미지 데이터 학습 및 응답

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

온톨로지 활용

0

44

2

ollama설치해서 llama로 돌려도 되나요?

0

46

2

소득세법 docx 파일 공유 요청건

0

96

1

EXAONE 모델 불러오기 안되는 문제

0

95

2

[5.1 강의] LLM Evaluator에 Upstage를 사용하는 방법 + 변경된 Langsmith Docs를 참고하여 구현하는 방법 공유

0

125

2

강의 9에 QA관련된 import가 되지 않네요

0

125

2

🚨 python3.14 를 쓰고 계시면 chroma 에서 ConfigError 가 발생합니다.

1

224

1

강의와 책 관련 질문

0

96

1

문서 전처리 고민

0

121

1

RAG 배포 질문드립니다

0

106

1

강의 내용과는 별개로 궁금한 점이 있습니다

0

98

2

폐쇄망 챗봇 모델

0

102

1

AI agent 쿠폰

0

99

2

저는 왜 그대로 했는데 답변이 틀리게 나오는지 모르겠네요

0

109

2

langchain howto/sequence는 지금 doc 공식 사이트 어디서 확인할 수 있나요?

1

100

1

new_question에 대한 답 출력

0

80

2

랭체인 라이브러리

0

160

2

[LangGraph를 활용한 AI Agent 개발] 쿠폰 유효기간

0

111

1

postgresql의 pgvector 벡터는 어떤가요?

0

383

2

doc관련

0

144

2

load_dotenv() 실행 False

0

103

1

RAG 답변 개선을 위한 정답지 활용 구조 검토 요청

0

125

2

3.2 from langchain.chains ~ 에서 모듈을 찾지 못할 때.

2

429

2

강의 완료 오류

0

94

1