weekly-release-notes-2025-09-28-10-04
Published:
DataProc 주간 릴리즈 노트
멀티모달 문서 처리 및 이미지 임베딩 시스템 구축 - 2025년 10월 4일
주요 개발 내용 요약
DataProc 프로젝트는 멀티모달 문서 처리 시스템으로 진화하였습니다. 9월 28일부터 10월 4일까지 총 42개의 커밋이 진행되었으며, 1개의 주요 PR이 병합되어 이미지 업로드 및 임베딩 기능, 테이블 추출 시스템, 이미지 갤러리 및 채팅 통합이 완성되었습니다.
새로운 기능 (New Features)
1. 이미지 업로드 및 임베딩 시스템 구현 (#21)
- 구현 완료: CLIP 모델 기반 이미지 임베딩 및 검색 시스템
- 주요 기능:
- 이미지 파일 직접 업로드 UI 구현
- CLIP 모델을 활용한 이미지 임베딩 생성
- Milvus 벡터 데이터베이스에 이미지 임베딩 저장
- 이미지 서빙 엔드포인트 구현 (
/images
) - 이미지 업로드 및 관리를 위한 project_images 테이블 추가
- 주요 커밋:
118489c
,f97a00e
,1f86bb5
2. 멀티모달 문서 캡처 시스템 Phase 1 구현
- 구현 완료: PDF 문서에서 이미지 및 테이블 자동 추출
- 주요 기능:
- PyMuPDF를 활용한 PDF 이미지 추출
- 이미지 갤러리 UI 구축
- 프로젝트별 이미지 관리 시스템
- 이미지 메타데이터 저장 (페이지 번호, 바운딩 박스, 크기 등)
- 주요 커밋:
14fec7e
,363656757
3. 테이블 추출 시스템 완성 (Phase 2)
- 구현 완료: PDF 문서에서 테이블 자동 추출 및 OCR
- 주요 기능:
- Camelot 및 pdfplumber를 활용한 테이블 감지
- Tesseract OCR을 통한 테이블 텍스트 추출 (eng+kor 지원)
- 테이블 이미지 캡처 및 저장
- 테이블 뷰어 UI 구현
- 신뢰도 점수 기반 테이블 품질 평가
- 주요 커밋:
0cf2c1f
,62c9df7
,fd52540
4. 채팅 시스템에 이미지 표시 기능 추가
- 구현 완료: AI 응답에 관련 이미지 자동 표시
- 주요 기능:
- 벡터 검색 결과에 이미지 메타데이터 포함
- 채팅 응답에 관련 이미지 자동 삽입
- 이미지 URL 경로 수정 (
/api/images
→/images
)
- 주요 커밋:
a54c915
,bc57e04
개선사항 (Improvements)
1. 벡터 데이터베이스 쿼리 최적화
- project_id 필터 지원: Milvus 쿼리에 프로젝트별 필터링 기능 추가
- 검색 정확도 향상: 프로젝트 컨텍스트를 고려한 정확한 검색 결과 제공
- 주요 커밋:
bc57e04
2. API 엔드포인트 구조 개선
- 관리자 전용 엔드포인트 분리:
/admin
접두사 제거로 사용자 중심 API 구조 확립 - 프로젝트 서비스 엔드포인트 통일:
/project
엔드포인트로 일관성 있는 API 제공 - 주요 커밋:
f86b7e3
,476c2e9
3. 프로젝트 데이터 구조 개선
- files_count 필드 추가: 프로젝트별 파일 개수 실시간 추적
- 데이터 일관성 보장: 렌더링 시점에 files_count 계산하여 데이터 손실 방지
- 디버깅 강화: files_count 데이터 흐름 추적을 위한 로그 추가
- 주요 커밋:
fd8fa6a
,ca4f83c
,64a0fe3
4. 데이터베이스 스키마 관리 개선
- Alembic 마이그레이션: project_images 테이블 마이그레이션 스크립트 추가
- 스키마 버전 관리: 체계적인 데이터베이스 스키마 변경 추적
- 주요 커밋:
fd52540
버그 수정 (Bug Fixes)
1. 이미지 URL 경로 수정
- 문제: 잘못된 이미지 URL 경로로 인한 이미지 로딩 실패
- 해결:
/api/images
경로를/images
로 수정 - 주요 커밋:
a54c915
2. project_file_id nullable 처리
- 문제: 직접 업로드한 이미지에 project_file_id가 없어 오류 발생
- 해결: project_file_id 필드를 nullable로 변경
- 주요 커밋:
bfa865a
3. 의존성 패키지 오류 수정
- 문제: 존재하지 않는 jina-clip 패키지 참조
- 해결: transformers CLIP 모델로 대체
- 주요 커밋:
4eca8f7
4. 데이터 로딩 오류 수정
- 문제: loadDocumentProjects에서 files_count 누락으로 데이터 손실
- 해결: 데이터 로딩 시점에 files_count 계산 로직 추가
- 주요 커밋:
64a0fe3
인프라 및 시스템 개선 (Infrastructure & System)
1. Milvus 설정 모듈화
- milvus_config 모듈 추가: 이미지 임베딩 서비스를 위한 Milvus 설정 분리
- 코드 재사용성 향상: 공통 Milvus 설정 모듈을 통한 중복 제거
- 주요 커밋:
1f86bb5
2. 파일 업로드 시스템 개선
- 3-tier 폴백 메커니즘: Docling → PyPDF2 → PyMuPDF 순차 시도
- 문서 처리 안정성 향상: 다양한 PDF 형식 지원
- 상세한 파일 업로드 플로우 문서화
- 주요 커밋:
98ad076
,3acd2a1
3. 프론트엔드 의존성 업데이트
- package-lock.json 업데이트: 최신 의존성 버전 반영
- 보안 및 안정성 개선
- 주요 커밋:
3193a17
문서화 (Documentation)
1. 이미지 임베딩 기술 문서
- 완전한 기술 문서: 이미지 임베딩 시스템 구조 및 구현 세부사항 문서화
- 번호 접두사 추가: 문서 순서 명확화를 위한 번호 추가
- 문서 구조 개선: image-embedding 서브디렉토리로 정리
- 주요 커밋:
b20a248
,e44b9a1
,c8c3035
2. 객체 감지(Object Detection) 문서
- 기술 문서 추가: 객체 감지 시스템에 대한 포괄적인 기술 문서 작성
- 문서 구조화: object-detection 서브디렉토리로 정리
- 주요 커밋:
3f1ff5c
,b445f68
3. 문서 구조 재편
- 카테고리별 서브디렉토리: 문서를 주제별로 체계적으로 구성
- docs → research 디렉토리 이름 변경: 연구 문서임을 명확히 표현
- 주요 커밋:
a0de8ae
,d3eca14
4. README 업데이트
- 멀티모달 기능 강조: 이미지 및 테이블 추출 기능 설명 추가
- 벡터 데이터베이스 참조 수정: ChromaDB → Milvus로 문서 업데이트
- 제품 소개 개선: 기술 라이브러리 이름 제거 및 사용자 중심 설명
- 주요 커밋:
9ac4db3
,122213e
,c07ca14
,960df13
5. Docling 처리 가이드
- 상세 가이드 추가: Docling 라이브러리를 활용한 문서 처리 상세 가이드
- 3-tier 폴백 메커니즘 설명: 문서 처리 전략 상세 설명
- 주요 커밋:
c18e7d7
,98ad076
6. 프로젝트 명세 프레임워크
- 프로젝트 헌법 추가: 프로젝트 원칙 및 가이드라인 문서화
- 명세 프레임워크: 프로젝트 명세 구조 정립
- 주요 커밋:
43a6f0d
성과 지표 (Metrics)
- 총 커밋 수: 42개 커밋 (9/28 ~ 10/4)
- 병합된 PR: 1개 주요 풀 리퀘스트 (#21)
- 새로운 기능: 4개 핵심 멀티모달 시스템 구현
- 주요 개선사항: 4개 시스템 최적화
- 버그 수정: 4개 주요 버그 수정
- 문서화: 6개 주요 문서 작성 및 개선
주요 PR 목록
- #21: 이미지 업로드 및 임베딩 기능 구현
핵심 기술 스택 구현
- 이미지 처리: CLIP 모델 기반 임베딩, PyMuPDF 이미지 추출
- 테이블 처리: Camelot, pdfplumber, Tesseract OCR
- 벡터 데이터베이스: Milvus (이미지 및 텍스트 통합 검색)
- 멀티모달 검색: 텍스트-이미지 통합 벡터 검색
- 문서 처리: Docling 기반 3-tier 폴백 메커니즘
향후 계획 (Future Plans)
1. 멀티모달 검색 고도화
- 이미지-텍스트 크로스 모달 검색 강화
- 테이블 구조 인식 및 쿼리 최적화
- 이미지 캡션 자동 생성
2. 문서 처리 성능 최적화
- 대용량 PDF 처리 속도 개선
- 병렬 처리 시스템 구축
- 메모리 사용량 최적화
3. 사용자 경험 개선
- 이미지 갤러리 UI/UX 향상
- 테이블 뷰어 기능 확장
- 실시간 처리 상태 모니터링
4. AI 기능 강화
- Vision-LLM 통합 완성
- 이미지 기반 질의응답 시스템
- 다이어그램 및 차트 이해 기능
결론
DataProc 프로젝트는 이번 주 멀티모달 문서 처리 시스템으로 대폭 진화하였습니다. CLIP 모델 기반 이미지 임베딩, 테이블 자동 추출 시스템, 이미지 갤러리 및 채팅 통합을 통해 텍스트뿐만 아니라 이미지와 테이블을 포함한 종합적인 문서 분석 플랫폼으로 발전하였습니다.
특히 3-tier 폴백 메커니즘을 통한 안정적인 문서 처리, Milvus 벡터 데이터베이스를 활용한 효율적인 멀티모달 검색, 체계적인 문서화를 통한 기술 지식 축적이 핵심 성과입니다.
앞으로 Vision-LLM 통합 완성과 멀티모달 검색 고도화를 통해 더욱 강력하고 지능적인 문서 분석 플랫폼으로 발전할 예정입니다.
문서 작성일: 2025년 10월 4일
버전: v0.2.0