# LLM Macro OCR(광학 문자 인식) 결과를 파싱하고, 지정된 LLM(거대 언어 모델)을 통해 처리한 후, 정제된 결과를 반환하는 API 게이트웨이입니다. 다양한 LLM 공급자를 지원하며, Docker를 통해 쉽게 배포하고 실행할 수 있습니다. ## 주요 기능 - OCR 결과 텍스트 정제 및 분석 - 다중 LLM 공급자 지원 (Gemini, Anthropic, OpenAI 등) - RESTful API 엔드포인트 제공 - Docker Compose를 이용한 간편한 실행 환경 ## 프로젝트 구조 ``` / ├── .env # API 키 및 환경 변수 설정 ├── api_keys.json # 클라이언트 API 키 관리 ├── docker-compose.yml # Docker Compose 설정 ├── Dockerfile # Docker 이미지 빌드 설정 ├── requirements.txt # Python 의존성 목록 ├── post/ # OCR 결과 후처리 관련 모듈 ├── result/ # 처리 결과 저장 디렉토리 (Git 무시) └── workspace/ # API 서버 로직 (FastAPI 기반) ``` ## 시작하기 ### 사전 요구사항 - Git - Docker - Docker Compose ### 설치 및 실행 1. **프로젝트 클론** ```bash git clone https://github.com/your-username/llm_gateway_macro.git cd llm_gateway_macro ``` 2. **환경 변수 설정** `.env.example` 파일을 복사하여 `.env` 파일을 생성하고, 내부에 실제 API 키들을 입력합니다. ```bash cp .env.example .env ``` ```dotenv # .env ADMIN_API_KEY=your_admin_api_key GEMINI_API_KEY=your_gemini_api_key ANTHROPIC_API_KEY=your_anthropic_api_key OPENAI_API_KEY=your_openai_api_key ``` 3. **클라이언트 API 키 설정** `api_keys.json.example` 파일을 복사하여 `api_keys.json` 파일을 생성하고, API를 호출할 클라이언트의 키를 설정합니다. ```bash cp api_keys.json.example api_keys.json ``` 4. **Docker 컨테이너 실행** 아래 명령어를 실행하여 애플리케이션을 백그라운드에서 시작합니다. ```bash docker-compose up -d --build ``` 5. **로그 확인 (선택 사항)** ```bash docker-compose logs -f ``` ## API 사용법 ### OCR 결과 처리 요청 - **Endpoint:** `POST /api/v1/process` - **Header:** `X-API-KEY: {your_client_api_key}` - **Body:** ```json { "ocr_text": "여기에 OCR 결과로 추출된 텍스트를 입력합니다.", "llm_provider": "gemini" // "gemini", "openai", "anthropic" 중 선택 } ``` ### cURL 예시 ```bash curl -X POST "http://localhost:8000/api/v1/process" \ -H "Content-Type: application/json" \ -H "X-API-KEY: your_client_api_key" \ -d '{ "ocr_text": "처리할 OCR 텍스트입니다.", "llm_provider": "gemini" }' ``` ### 응답 예시 ```json { "original_text": "처리할 OCR 텍스트입니다.", "processed_text": "LLM에 의해 처리된 결과입니다.", "provider": "gemini" } ``` ## 라이선스 이 프로젝트는 [라이선스 이름] 라이선스를 따릅니다. 자세한 내용은 `LICENSE` 파일을 참고하세요. ``` ```