weekly-release-notes-2025-10-19-25

8 minute read

Published:

DataProc 주간 릴리즈 노트

Vision Search 통합 완성 - 2025년 10월 19일 ~ 10월 25일

주요 개발 내용 요약

DataProc 프로젝트는 Vision Search 시스템 완전 통합에 집중하였습니다. 10월 19일부터 10월 25일까지 총 12개의 커밋이 진행되었으며, 3개의 주요 PR이 병합되어 Vision LLM 인프라 구축, 하이브리드 이미지 검색, 고급 검색 제어 기능이 완성되었습니다.


새로운 기능 (New Features)

1. Vision LLM 인프라 구축 (#41)

  • 구현 완료: Vision LLM 독립 활성화 지원 시스템
  • 주요 기능:
    • Standard LLM과 Vision LLM 동시 활성화 지원
    • Vision 전용 설정 필드 (vision_enabled, max_vision_tokens, image_detail)
    • 이미지 분석 기능 (describe_image) 구현
    • Vision LLM 테스트 기능 (Admin UI)
    • 타입별 색상 코딩 (Standard: 파란색, Vision: 보라색)
  • 주요 커밋: 95e4b34, bc66cde

2. 하이브리드 이미지 검색 시스템 (#42)

  • 구현 완료: CLIP + Vision LLM 통합 검색
  • 주요 기능:
    • 3가지 검색 모드: clip (빠른 시각적 유사도), vision (Vision LLM 설명 기반), hybrid (통합)
    • 자동 처리 파이프라인: PDF 이미지 추출 시 CLIP 임베딩 + Vision 설명 자동 생성
    • 하이브리드 점수 계산: CLIP 0.6 + Vision 0.4 가중치 조합
    • 배경 처리: 대용량 문서 효율적 처리
    • 스마트 폴백: Vision LLM 비활성화 시 CLIP 검색으로 자동 전환
  • 새로운 서비스:
    • image_search_service.py: 통합 검색 인터페이스
    • vision_analysis_service.py: Vision LLM 이미지 설명 생성
  • 주요 커밋: 28df8e8, c8443a0, 48286d8

3. 고급 검색 제어 시스템 (#45)

  • 구현 완료: Phase 3.2 - API 수준 검색 제어
  • 주요 기능:
    • 검색 모드 선택: text_only, image_only, hybrid
    • 이미지 관련도 임계값: 0.0-1.0 사용자 정의 (min_image_relevance)
    • 최대 이미지 수 제한: 결과 이미지 개수 제어 (max_images)
    • 이미지 타입 필터: embedded, table 타입별 필터링
    • 페이지 범위 필터: 특정 페이지 구간 내 이미지만 검색
  • 새로운 컴포넌트:
    • AdvancedSearchOptions.tsx: 고급 검색 옵션 UI 패널
    • 접이식 패널, 슬라이더, 드롭다운, 페이지 범위 입력
    • 기본값 재설정 버튼
    • 사용자 설정 시각적 피드백
  • 주요 커밋: 476c941, 3842706

개선사항 (Improvements)

1. Vision LLM 독립 활성화 관리

  • 타입별 활성 상태 관리: Standard와 Vision LLM 각각 독립적으로 활성화
  • API 응답 개선: active_standard_config_id, active_vision_config_id 분리
  • UI 개선: 타입별 활성 표시 (Active (Standard), Active (Vision))
  • 주요 커밋: bc66cde

2. 이미지 검색 성능 최적화

  • 병렬 실행: CLIP 및 Vision 검색 동시 실행
  • CLIP 검색 속도: 쿼리당 ~50-100ms (매우 빠름)
  • Text-only 모드: 응답 시간 40% 단축 (~300ms)
  • 주요 커밋: 3842706

3. 데이터베이스 스키마 확장

  • Vision 분석 필드 추가: ai_analyzed (처리 상태), description (AI 설명)
  • 하위 호환성 유지: 기존 이미지 데이터와 호환
  • 주요 커밋: 48286d8

4. LLM 서비스 개선

  • 타임아웃 설정 수정: LLM 프로바이더별 타임아웃 올바르게 전달
  • 관련도 점수 처리: 하이브리드 모드에서 점수 처리 오류 수정
  • 서비스 설정 헬퍼: get_config_for_service() 메서드 추가
  • 주요 커밋: 48286d8

문서화 (Documentation)

1. Vision Search 구현 문서 (10/25)

  • 완전한 구현 가이드: Vision Search 전체 아키텍처 문서
  • 주요 내용:
    • 3단계 구현 로드맵 (Phase 1-3)
    • Vision LLM 설정 및 테스트 가이드
    • 하이브리드 검색 메커니즘 설명
    • API 엔드포인트 상세 설명
    • 성능 벤치마크 및 최적화 팁
  • 파일: docs/vision-search-implementation.md
  • 주요 커밋: 6380c29

2. Vision LLM 아키텍처 문서 (10/24)

  • 상세 시스템 설계 문서: Vision LLM 통합 구조
  • 주요 내용:
    • Vision LLM 독립 활성화 아키텍처
    • 이미지 처리 파이프라인 다이어그램
    • 데이터베이스 스키마 설계
    • 서비스 레이어 구조
    • 테스트 전략
  • 파일: docs/vision-llm-architecture.md
  • 주요 커밋: 83b7742

3. Phase 3.2 구현 문서 (10/25)

  • Backend API 가이드: plan/phase-3.2-implementation.md
  • Frontend 구현 가이드: plan/phase-3.2-frontend-implementation.md
  • 테스트 가이드: plan/phase-3.2-frontend-testing-guide.md
  • Phase 3.1.5 참조: plan/phase-3.1.5-test-guide.md
  • 주요 내용:
    • ChatRequest 스키마 확장 설명
    • 고급 검색 옵션 사용 예제
    • 브라우저 콘솔 테스트 시나리오
    • UI 테스트 체크리스트
  • 주요 커밋: 3842706

4. Issue #35 구현 분석 (10/25)

  • 완전한 구현 분석: Vision Search Phase 3 요구사항 분석
  • 주요 내용:
    • 현재 구현 상태 진단 (Phase 1, 2, 3)
    • 필요한 작업 목록 및 우선순위
    • 구현 단계별 계획 (Phase 3.1 ~ 3.2)
    • 예상 작업량 (2-3시간 ~ 5-7시간)
    • 향후 확장 가능성
  • 파일: plan/issue-35-implementation-analysis.md
  • 주요 커밋: f338ebe

테스팅 (Testing)

1. Backend 테스트 (10/25)

  • Phase 3.2 테스트 스위트: test_phase_3_2.py
  • 테스트 항목:
    • ChatRequest 스키마 검증
    • embedding_service filter_metadata 지원
    • Phase 3.2 로직 구현
    • 하위 호환성 검증
  • 결과: 4/4 테스트 통과
  • 주요 커밋: 3842706

2. Frontend 테스트 (10/25)

  • 브라우저 콘솔 테스트: 다양한 검색 모드 및 필터 시나리오
  • UI 컴포넌트 테스트: 고급 검색 옵션 패널 기능 검증
  • 테스트 시나리오:
    • Text-only 모드 (빠른 응답)
    • 사용자 정의 임계값 (낮음/높음)
    • 페이지 범위 필터링
    • 이미지 타입 필터링
    • 복합 필터 시나리오
  • 결과: 모든 컨트롤 정상 작동
  • 주요 커밋: 3842706

3. Hybrid Search 테스트 (10/22)

  • 통합 검색 테스트: test_hybrid_search.py
  • 테스트 항목:
    • CLIP 전용 검색
    • Vision 전용 검색
    • Hybrid 검색 (통합)
    • Vision LLM 비활성화 시 폴백
    • API 엔드포인트 응답
    • 채팅 통합
  • 결과: 모든 검색 모드 정상 작동
  • 주요 커밋: 28df8e8

성과 지표 (Metrics)

  • 총 커밋 수: 12개 커밋 (10/19 ~ 10/25)
  • 병합된 PR: 3개 주요 풀 리퀘스트 (#41, #42, #45)
  • 새로운 이슈: 2개 생성 (#43, #44)
  • 새로운 기능: 3개 주요 기능 (Vision LLM, Hybrid Search, Advanced Controls)
  • 주요 개선사항: 4개 시스템 최적화
  • 문서화: 4개 주요 문서 작성 (구현 가이드, 아키텍처, 테스트 가이드, 분석)
  • 테스트 커버리지: Backend 4/4 테스트 통과, Frontend 모든 시나리오 검증

주요 PR 목록

  • #45: Phase 3.2 - 고급 검색 제어 (2025-10-25 병합)
  • #42: Phase 2 - 하이브리드 이미지 검색 (2025-10-24 병합)
  • #41: Phase 1 - Vision LLM 인프라 (2025-10-21 병합)

생성된 이슈

  • #44: ChatInterface에 Phase 3.2 고급 검색 옵션 추가 (Admin 채팅 검증)
  • #43: 레거시 /paper 페이지 디렉토리 제거 (정리)

핵심 개선 영역

  • Vision 통합: Vision LLM 완전 통합으로 멀티모달 RAG 구현
  • 검색 성능: CLIP 기반 빠른 검색 + Vision LLM 심층 분석
  • 사용자 제어: API 수준 검색 제어로 다양한 사용 사례 지원
  • 시스템 안정성: 독립 활성화, 스마트 폴백, 하위 호환성 유지
  • 문서화: 완전한 구현 가이드 및 아키텍처 문서

성능 벤치마크 (Performance)

검색 모드별 성능

검색 모드응답 시간이미지 수개선도
Text-only~300ms0-40% 시간
CLIP-only~400ms2-3빠른 시각 검색
Vision-onlyLLM 의존1-2높은 정확도
Hybrid (기본)~500ms2-3최적 균형

임계값별 성능

임계값 설정응답 시간이미지 수특징
낮음 (0.4)~500ms4-5높은 재현율
기본 (0.65)~500ms2-3균형
높음 (0.8)~450ms0-1높은 정밀도

기술적 하이라이트 (Technical Highlights)

1. Vision LLM 독립 활성화 아키텍처

# Standard LLM과 Vision LLM 동시 활성화
active_standard = llm_config_service.get_active_config(vision_enabled=False)
active_vision = llm_config_service.get_active_config(vision_enabled=True)

# 타입별 비활성화 (같은 타입만 비활성화)
await llm_config_service.activate_config(config_id, vision_enabled=True)
# → Vision LLM만 교체, Standard LLM은 유지

2. Hybrid 검색 메커니즘

# CLIP + Vision 통합 검색
hybrid_results = await image_search_service.search_images(
    query="차트에서 매출 추이를 보여줘",
    project_id=project_id,
    search_mode="hybrid",  # CLIP 0.6 + Vision 0.4
    top_k=5
)

3. 고급 검색 제어

# 표만, 5-10페이지, 높은 정밀도
chat_response = await chat_service.ask_question(
    question="5장에서 10장 사이의 표를 찾아줘",
    project_id=project_id,
    search_mode="image_only",
    min_image_relevance=0.6,
    max_images=5,
    image_type_filter="table",
    page_range=[5, 10]
)

4. 하위 호환성 유지

# 기본 동작 (Phase 3.1.5와 동일)
# search_mode: "hybrid"
# min_image_relevance: undefined (자동 0.4/0.65)
# max_images: 3
# 모든 필터: undefined

# 기존 API 호출 변경 없이 작동

주요 변경 파일 (Changed Files)

Backend (8 files)

  • app/models/llm_config.py - Vision 필드 추가
  • app/schemas/chat.py - ChatRequest 확장
  • app/services/llm_service.py - describe_image 구현, timeout 수정
  • app/services/llm_config_service.py - 독립 활성화, get_config_for_service
  • app/services/chat_service.py - Phase 3.2 로직, 관련도 점수 수정
  • app/services/embedding_service.py - filter_metadata 지원
  • app/services/image_search_service.py - 새로운 서비스
  • app/services/vision_analysis_service.py - 새로운 서비스

Frontend (5 files)

  • src/services/chatService.ts - 타입 업데이트
  • src/components/admin/LLMConfigCard.tsx - Vision 표시
  • src/components/admin/LLMConfigForm.tsx - Vision 설정 UI
  • src/components/chat/AdvancedSearchOptions.tsx - 새로운 컴포넌트
  • src/app/project/[id]/page.tsx - 고급 옵션 통합

Database (1 migration)

  • alembic/versions/add_vision_analysis_fields_to_project_images.py

Testing (2 files)

  • scripts/tests/test_hybrid_search.py
  • scripts/tests/test_phase_3_2.py

Documentation (8 files)

  • docs/vision-search-implementation.md
  • docs/vision-llm-architecture.md
  • plan/issue-35-implementation-analysis.md
  • plan/phase-3.2-implementation.md
  • plan/phase-3.2-frontend-implementation.md
  • plan/phase-3.2-frontend-testing-guide.md
  • plan/phase-3.1.5-test-guide.md

향후 계획 (Future Plans)

1. ChatInterface 고급 검색 옵션 통합 (#44)

  • Admin 페이지 ChatInterface에 AdvancedSearchOptions 추가
  • 전역 채팅에서도 고급 검색 기능 사용 가능
  • 사용자 테스트 및 피드백 수집

2. 레거시 코드 정리 (#43)

  • /paper 페이지 디렉토리 제거
  • /project 페이지로 완전 마이그레이션
  • Topic → Project 용어 통일 완료

3. Vision Search 최적화

  • 사용 패턴 기반 기본 임계값 미세 조정
  • Vision LLM 설명 캐싱 전략 구현
  • 대용량 문서 처리 속도 개선

4. 멀티모달 RAG 확장

  • 비디오 프레임 분석 지원
  • 오디오 전사 및 검색 통합
  • 다중 문서 간 멀티모달 검색

5. 성능 모니터링 시스템

  • 검색 모드별 사용 통계
  • 응답 시간 모니터링
  • 사용자 선호도 분석

결론

DataProc 프로젝트는 이번 주 Vision Search 시스템 완전 통합을 통해 멀티모달 RAG 플랫폼으로 발전하였습니다. Vision LLM 인프라 구축, 하이브리드 이미지 검색, 고급 검색 제어 기능을 통해 사용자가 텍스트와 이미지를 동시에 활용하여 더욱 정확하고 풍부한 답변을 얻을 수 있게 되었습니다.

특히 Standard LLM과 Vision LLM 독립 활성화를 통한 유연성 확보, CLIP + Vision LLM 하이브리드 검색을 통한 속도와 정확도의 균형, API 수준 검색 제어를 통한 다양한 사용 사례 지원이 핵심 성과입니다.

또한 완전한 구현 가이드, 아키텍처 문서, 테스트 가이드를 통해 시스템에 대한 이해도를 높이고 유지보수성을 강화하였습니다.

3주간의 집중 개발 (Phase 1-3)을 통해 DataProc은 단순한 텍스트 기반 RAG에서 이미지, 표, 차트를 이해하는 진정한 멀티모달 지능형 문서 분석 플랫폼으로 진화하였습니다.

앞으로 ChatInterface 통합, 레거시 코드 정리, 성능 최적화를 통해 더욱 강력하고 사용자 친화적인 시스템으로 발전할 예정입니다.


문서 작성일: 2025년 10월 25일
버전: v0.4.0 - Vision Search Integration Complete