-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
목표
시스템에 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
Labels
enhancementNew feature or requestNew feature or request