Skip to content

[FEATURE] PDF 및 이미지 파일 처리 기능 추가 #3

@kimsuckhyun

Description

@kimsuckhyun

목표

시스템에 PDF 문서와 이미지 파일을 업로드하고 처리하여 질의응답에 활용할 수 있는 기능을 구현합니다.

세부 작업

  • PDF 파일 처리 구현

    • 다양한 PDF 처리 라이브러리 지원 (pdfplumber, PyPDF2)
    • PDF 텍스트 추출 함수 개발 (process_pdf())
    • PDF 페이지 이미지 변환 및 OCR 처리
    • 임시 파일 관리 시스템 구현
  • 이미지 파일 처리 구현

    • 이미지 텍스트 추출 함수 개발 (process_image())
    • OCR 엔진 (pytesseract) 통합
    • 다양한 이미지 형식 지원 (.png, .jpg, .jpeg)
  • 파일 업로드 UI 및 처리기 구현

    • 파일 업로드 위젯 (FileUpload) 추가
    • 업로드 이벤트 핸들러 (process_uploaded_file()) 개발
    • 파일 유형 감지 및 적절한 처리기 선택 로직
    • 업로드된 파일 내용 표시 기능
  • 파일 컨텍스트와 대화 시스템 통합

    • 전역 변수로 파일 컨텍스트 관리
    • 프롬프트 템플릿에 파일 컨텍스트 통합
    • 파일 유무에 따른 프롬프트 조정 시스템
    • 대화 히스토리 및 파일 컨텍스트 초기화 기능

기술 스택

  • pdfplumber/PyPDF2: PDF 텍스트 추출
  • PIL (Pillow): 이미지 처리
  • pytesseract: OCR 엔진
  • ipywidgets: 파일 업로드 UI
  • transformers: 이미지 분석 파이프라인 (옵션)

입/출력 형식

  • 입력: PDF 파일 또는 이미지 파일 (바이너리)
  • 중간 출력: 추출된 텍스트
  • 최종 통합: 전역 file_context 변수에 저장

구현 고려사항

  • 다양한 환경에서 PDF/이미지 처리 라이브러리 가용성 확인
  • 임시 파일 관리 (생성 및 삭제) 메커니즘
  • 대용량 PDF 처리 시 메모리 관리
  • 한국어 OCR 정확도 최적화 ('eng+kor' 언어 설정)
  • UI 개선 (파일 업로드 상태 표시, 오류 메시지 등)
  • 보안 고려사항 (업로드된 파일 접근 제한, 임시 파일 삭제 등)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions