Files
ocr_macro/docs/app_readme.md
2025-08-12 16:59:40 +09:00

3.3 KiB
Raw Permalink Blame History

app.py - 정답셋 생성 및 비교 도구

이 문서는 workspace/app.py Streamlit 애플리케이션의 기능, 설정 방법, 그리고 사용법을 상세히 설명합니다.

1. 주요 기능

  • 세션 기반 협업: 파일 업로드 시 고유한 URL(seed)이 생성되어, 이 링크를 공유하면 여러 명의 작업자가 동일한 환경에서 작업할 수 있습니다.
  • 3-Way 비교 뷰: 원본 문서, 참고용 모델 결과, 정답셋 편집기를 한 화면에 표시하여 직관적인 비교와 수정이 가능합니다.
  • 모델 선택 및 편집: paddle_ocrupstage 모델 중 하나를 정답셋의 기반으로 선택하고, parsed 키의 내용을 직접 수정하여 정답셋을 생성합니다.
  • 작업 상태 추적: 정답셋 생성이 완료된 파일은 목록에 아이콘으로 표시되어 작업 중복을 방지합니다.
  • 정답셋 재수정: 이미 완료된 정답셋도 언제든지 다시 불러와 수정할 수 있습니다.
  • 동적 레이아웃: ‘참고용 영역 숨기기’ 옵션을 통해 편집 공간을 넓게 확보할 수 있습니다.
  • 결과물 다운로드: 현재 세션에서 생성된 모든 정답셋을 하나의 .zip 파일로 편리하게 다운로드할 수 있습니다.

2. 설정 및 실행

실행

프로젝트의 루트 디렉토리에서 다음 명령어를 실행하여 필요한 라이브러리를 설치합니다.

docker compose up

실행 후 웹 브라우저에서 지정된 로컬 주소(예: http://localhost:8501)로 접속합니다.

3. 작업 흐름

  1. 애플리케이션 실행: 위의 명령어로 앱을 시작합니다.
  2. 파일 업로드:
    • 사이드바의 ‘파일 업로드’ 섹션에서 다음 세 종류의 파일을 모두 업로드합니다.
      1. 원본 문서 (이미지/PDF)
      2. paddle_ocr JSON 결과물
      3. upstage JSON 결과물
    • 파일 이름(확장자 제외)이 세 종류 모두 동일해야 목록에 정상적으로 표시됩니다.
  3. 세션 생성: ‘업로드 및 세션 생성’ 버튼을 누르면, 고유한 seed가 포함된 URL이 생성되며 작업 화면으로 전환됩니다.
  4. 세션 공유 (선택 사항): 생성된 URL을 다른 작업자와 공유하여 협업을 시작할 수 있습니다.
  5. 파일 선택 및 검수:
    • 사이드바의 ‘파일 탐색’ 드롭다운 메뉴에서 검수할 파일을 선택합니다.
    • 화면 상단의 ◀ 이전 / 다음 ▶ 버튼으로 파일을 이동할 수도 있습니다.
  6. 정답셋 생성:
    • 화면 우측 상단의 버튼을 통해 정답셋의 기반이 될 모델(paddle_ocr 또는 upstage)을 선택합니다.
    • 오른쪽 ‘정답셋 편집’ 영역에서 parsed 키의 텍스트를 정확하게 수정합니다.
    • 정답셋으로 저장’ 버튼을 눌러 작업을 완료합니다.
  7. 작업 반복: 모든 파일에 대해 5~6번 과정을 반복합니다. 완료된 파일은 목록에 아이콘이 표시됩니다.
  8. 정답셋 다운로드:
    • 모든 작업이 완료되면, 사이드바 하단의 ‘내보내기’ 섹션에서 ‘정답셋 다운로드 (.zip) 버튼을 눌러 결과물을 다운로드합니다.
    • 다운로드된 파일은 현재 세션의 groundtruth 폴더에 저장된 모든 JSON 파일을 포함합니다.