45 lines
2.6 KiB
Markdown
45 lines
2.6 KiB
Markdown
# OCR Gateway 테스트 프로젝트
|
|
|
|
이 프로젝트는 OCR Gateway를 테스트하거나 새로운 모델을 연동하여 테스트하기 위해 구성되었습니다.
|
|
|
|
## 프로젝트 구조 및 기능
|
|
|
|
```
|
|
/mnt/c/Python/workspace/ocr_gateway_test/
|
|
├───.env # 환경 변수 설정 파일 (API 키, 비밀 값 등)
|
|
├───api.py # FastAPI 애플리케이션의 메인 실행 파일
|
|
├───docker-compose.yml # Docker 다중 컨테이너 실행을 위한 설정 파일
|
|
├───Dockerfile # Python 애플리케이션의 Docker 이미지 생성 파일
|
|
├───pyproject.toml # Python 프로젝트 설정 및 의존성 관리 파일
|
|
├───requirements.txt # Python 패키지 의존성 목록
|
|
├───tasks.py # Celery 비동기 작업을 정의하는 파일
|
|
├───.git/ # Git 버전 관리 폴더
|
|
├───config/ # 애플리케이션 설정 관련 폴더
|
|
│ ├───__init__.py
|
|
│ └───setting.py # 애플리케이션의 주요 설정 값 (경로, 모델 정보 등)
|
|
├───router/ # API 엔드포인트(라우팅)를 관리하는 폴더
|
|
│ ├───__init__.py
|
|
│ └───ocr_api_router.py # OCR 관련 API 라우터를 정의하는 파일
|
|
└───utils/ # 공통 유틸리티 및 핵심 기능을 모아둔 폴더
|
|
├───__init__.py
|
|
├───celery_utils.py # Celery 관련 유틸리티 함수
|
|
├───checking_keys.py # API 키 유효성 검사 등 키 관련 유틸리티
|
|
├───file_handler.py # 파일 업로드, 다운로드 등 파일 처리 유틸리티
|
|
├───ocr_processor.py # OCR 처리 로직을 관리하고 모델을 선택하는 유틸리티
|
|
├───preprocessor.py # OCR 처리 전 이미지 전처리를 담당하는 유틸리티
|
|
├───redis_utils.py # Redis 관련 유틸리티 함수
|
|
└───text_extractor.py # 실제 OCR 모델을 호출하여 텍스트를 추출하는 함수들이 있는 파일
|
|
```
|
|
|
|
## 신규 모델 추가 및 실행 가이드
|
|
|
|
새로운 OCR 모델을 추가하려면 다음 단계를 따르세요.
|
|
|
|
1. **모델 함수 추가**: `utils/text_extractor.py` 파일에 새로운 OCR 모델을 호출하고 텍스트를 추출하는 Python 함수를 추가합니다.
|
|
|
|
2. **빌드 및 실행**: 터미널에서 아래 명령어를 실행하여 변경사항을 적용하고 Docker 컨테이너를 다시 빌드하고 실행합니다.
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|